Aggregation and presentation of video content items for multiple users

ABSTRACT

A video aggregation system presents video content items to multiple users. A first filter is used to filter content items from a first feed and a second feed for a first user. A second filter is used to filter content items from the first feed and the second feed for a second user.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.14/184,991, filed Feb. 20, 2014, entitled “INTERNET VIDEO AGGREGATIONSYSTEM WITH REMOTE CONTROL,” which application is a continuation of U.S.patent application Ser. No. 13/717,597, filed Dec. 17, 2012, entitled“AUTOMATIC SELECTION OF DIGITAL SERVICE FEED,” now U.S. Pat. No.8,706,841, issued on Apr. 22, 2014, which application is anon-provisional of U.S. Patent Application No. 61/733,870, filed Dec. 5,2012, entitled “AUTOMATIC SELECTION OF DIGITAL SERVICE FEED;” U.S.application Ser. No. 13/717,597 is also a continuation-in-part of U.S.application Ser. No. 13/469,717, filed May 11, 2012, entitled “TWO-STAGEPROCESSED VIDEO LINK AGGREGATION SYSTEM,” now U.S. Pat. No. 8,613,015,issued Dec. 17, 2013, which application is a continuation of U.S. patentapplication Ser. No. 13/460,305, filed Apr. 30, 2012, entitled“MULTIPLE-CAROUSEL SELECTIVE DIGITAL SERVICE FEEDS,” now U.S. Pat. No.8,566,722, issued Oct. 22, 2013, which application is a continuation ofPCT/US2012/035854, filed Apr. 30, 2012, entitled “MULTIPLE-CAROUSELSELECTIVE DIGITAL SERVICE FEEDS,” and a continuation-in-part of U.S.patent application Ser. No. 13/296,183, filed Nov. 14, 2011, entitled“CREATION AND PRESENTATION OF SELECTIVE DIGITAL CONTENT FEEDS,” now U.S.Pat. No. 8,583,759, issued Nov. 12, 2013, which application is relatedby priority to Australian Application No. 2011202182 andPCT/US2011/034653, filed Apr. 29, 2011, entitled “CREATION ANDPRESENTATION OF SELECTIVE DIGITAL CONTENT FEEDS,” and all of which areincorporated herein by reference in their entirety.

BACKGROUND

This application relates in general to creation of, and presentation of,selective digital service feeds and, but not by way of limitation, tocreation of, and presentation of, selective digital service feedscomprising primarily or exclusively video and video-related content.

There are many services available to users through the use of theInternet, including websites, other Internet sites, publishing services,media services, data services, information services, electronic commerceservices, electronic transaction services, payment services, softwareand content download services, communications services, other remotelyaccessed sites and services, and other digital sites, centers,destinations, or systems; whether shared or dedicated, public orprivate, institutional or personal, fixed or mobile, wired or wireless;and whether accessed through a browser, mini-browser, embedded browser,application, other software program, or other interface. Examples ofpopular Internet services in widespread use today include, but are notlimited to: content websites that may include primarily video or audiocontent, primarily text and graphics (including photographs) content, ora mixture of several content and media types, including websites such asCNN.com™, Politico.com™ HuffingtonPost.com™, NYTimes.com™, and others;video publishing websites, such as YouTube™, DailyMotion™, Metacafe™,and others; entertainment content services, such as Netflix™, Pandora™,Hulu™, Zynga™; social networking sites, such as Facebook™, Twitter™, andMySpace™; and many others.

Digital content provided by Internet services can include any of, allof, or any combination of proprietary content, exclusively ornon-exclusively licensed content, syndicated content, member-providedcontent, user-provided content, system-generated content, messages oremails from one or more users to one or more other users, socialcontent, comments, ratings, embedded links to other digital content,tags, maps, locations, time and date content, user identifiers, sourceidentifiers, and other related or unrelated content. The hyperlinkedstructure of the World Wide Web and the Hypertext Transfer Protocol, theadvanced capabilities of modern web browsers, the ability (built into anincreasing range of modern user devices) to execute programs, theflexibility inherent in application software developed and delivered touser devices, the rise of common platforms that support both broadlydeployed and more narrowly focused functionality across many discreteInternet services, and the ability to stream data and content from, to,and among users and Internet services in realtime or near realtime,individually and collectively have increasingly allowed Internetservices to create content and data feeds that are simple, complex, orcompound, and include as many, or as few, diverse components as isdesired.

A user may use more than one Internet service, sequentially,concurrently, or simultaneously; may use different Internet serviceswith different degrees of interest, intensity, frequency,sophistication, depth of knowledge of the service, and/or skill; and mayvary her selection and mix of services from time to time, or over time,according to tasks and interests, because of the Internet servicechoices of others, according to her choice of device at the moment orover time, or for other reasons.

Users increasingly use devices other than, or in addition to,browser-equipped personal computers to access Internet services,including SMS-capable and other mobile phones, web-equipped mobilephones, smartphones, Internet-ready television sets, digital set-topboxes, DVD and Blu-Ray players, digital video recorders, videogameconsoles, tablets such as the iPad™, and other devices. These devicesexhibit a wide array of form factors, memory, storage, displays, outputinterfaces, user input interfaces and devices, and other peripherals andcomponents. Users may have preferences and habits that influence ordetermine the choice of a device for a given purpose, for a given timeand place, or for a given mode of use, because of, or regardless of,such device aspects.

There are numerous standards available for use in browsers,browser-equipped personal computers, and the numerous other devices usedby users to access Internet services. These standards are sometimesdeployed in mass-production products before being finally determined, atdifferent times for different products, in heterogeneous technicalimplementations, and with varying degrees of completeness; they oftenevolve over time, at times discontinuously; and they fluctuate inpopularity. As a result, devices are not always technically uniform, andnot all such standards are supported by all device and componentproviders. For example, some browsers support HTML5 and some browsers donot; different HTML5-ready browsers support different media standards(e.g., when rendering content identified with the <video> tag somesupport H.264, whereas others support WebM™ or another video codec);some devices support Adobe™ Flash™, while some devices do not (e.g.,Apple™ iPhone™ and iPad™ do not); or, one set-top box may support MPEG2video but not H.264 video, whereas another may support both and a thirdmay support just H.264. In addition, there are diverse content securityschemes deployed across devices, including proprietary encryptionschemes, consortia-based encryption schemes, and other encryptionschemes; and there are diverse rights-management and user-authenticationschemes, including consortia-based schemes, such as UltraViolet™, andvendor-proprietary schemes, such as Disney™ Keychest™ and Apple™iTunes™.

As the variety and capability of devices available to users haveincreased and as user behavior has evolved in response to new devicesand capabilities, content company strategies have also evolved. Aspectsof evolving content company strategies include: blocking some or alldevices from accessing some or all content; modifying or customizingtechnical versions of content available on some or all devices;modifying or customizing editorial versions of content available on someor all devices; modifying or customizing advertising, sponsorships, orother promotional aspects presented in conjunction with content accessedvia some or all devices; making content available on different deviceswith different access prices, terms, user rights and privileges, andother conditions; and many other strategy variations. Content companystrategies and aspects of strategies commonly vary from device todevice, from content company to content company on a given device, andfrom one geography to another. For example, in the United States,ABC™/Disney™ makes most ABC™ network television shows available onbroadcast television with commercials, online with commercials, andonline for download via Apple™ iTunes™ without commercials but at acharge per episode, but blocks the availability of these shows onGoogleTV™; while at the same time, it makes most Disney™ networktelevision shows available on broadcast television without commercials,online with commercials, and online for download via iTunes™ withoutcommercials but at a charge per episode, and blocks the availability ofthese shows on GoogleTV™.

Most Internet services operate legitimately. Legitimate Internetservices may properly obtain rights to content through licensing,syndication, fair use, government permission, or other legitimatemethods, or may produce content of their own, or may pursue acombination of these and other methods. Some Internet services, however,are less concerned about obtaining proper rights to content, and mayrely on their users to have obtained rights, may rely on actual oralleged legal safe harbor provisions, or may pay little or no attentionto rights questions. The problem of intellectual property piracy hasincreased as user Internet use has increased.

SUMMARY

In one embodiment, methods and systems for presentation of contentthrough an interface to provide personalized video feeds to a user aredisclosed. A user's interaction with Internet services automaticallygenerates services preferences indicating a media entity. That mediaentity is correlated to one or more feed items or feeds. A video feed isharvested from feed items or feeds gathered at various Internetservices.

In various embodiments, methods and systems for presentation of contentthrough an interface to provide personalized video feeds to a user aredisclosed. A video feed is harvested from feed items gathered at variousInternet sources. The feed items are filtered to remove those that donot link to video content. A criteria specified by the user is used tofilter the feed items.

In another embodiment, a video processing system for providingpersonalized video content feeds to users from the Internet isdisclosed. The video processing system comprises a service feed, anaggregation system and a selective video feed. The service feed isacquired from an internet service, which is accessible from theInternet. The service feed comprises a plurality of feed items arrangedin the first service feed serially. The service feed includes theplurality of feed items that each include a first separately resolvablelink to another content item available from the Internet. Theaggregation system that is configured to: receive the service feed;remove from the service feed a plurality of non-video feed items that donot link to video content available from the Internet; and remove fromthe service feed a plurality of filtered feed items that either meet ordo not meet a predetermined criteria. The selective video feed comprisesa plurality of remaining feed items that exclude the plurality ofnon-video feed items and the plurality of filtered feed items.

In yet another embodiment, a method for providing personalized videocontent feeds to users from the Internet is disclosed. A service feed isacquired, including a plurality of feed items arranged serially thatlink to content objects, which are available from the Internet with anInternet service. The service feed is filtered to remove from theservice feed a plurality of non-video feed items that do not link tovideo content available from the Internet. The service feed is filteredto remove from the service feed a plurality of filtered feed items thateither meet or do not meet a predetermined criteria. A selective feed issent to a user that comprises a plurality of remaining feed items thatexclude the plurality of non-video feed items and the plurality offiltered feed items.

In still another embodiment, a method for providing personalized videofeeds to a user gathered from the Internet. Selection of a content feedis received, including a plurality of feed items arranged serially thatlink to content objects, which are available from the Internet from anInternet service. A criteria is received from a user that specifiesfiltering of the service. Those feed items of the service feed that donot link to video objects available over the Internet are removed fromthe service feed. Those feed items of the service feed that arespecified by the criteria are removed from the service feed. A subset ofthe plurality of feed items are sent toward the user, where the subsetis defined by the two preceding sentences.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description provided hereinafter. It shouldbe understood that the detailed description and specific examples, whileindicating various embodiments, are intended for purposes ofillustration only and are not intended to necessarily limit the scope ofthe disclosure.

Methods and systems for presentation of content through an interface toprovide personalized video feeds to a user are disclosed. The videofeeds are harvested from feed items gathered at various Internetsources. Those video feeds are referenced by icons or channels thatrotate about or scroll or move within a first carousel. Video feeds arearranged in columns and/or rows that rotate about or scroll or movewithin a second carousel. Movement in one carousel causes movement inthe other in a synchronous manner even though the movement may be atdifferent speeds.

In another embodiment, a content presentation interface for providingpersonalized video feeds to users from a variety of Internet sources isdisclosed. The content presentation interface comprises a first carouselcomprising a number of pointers to a number of video feeds and a secondcarousel comprising rows or columns. Each of the number of video feedsis acquired from Internet services accessible with the Internet. Each ofthe number of video feeds includes a number of feed items. Each of thenumber of feed items is defined by a separately resolvable universalresource indicator (URI) to another content item available with theInternet. The second carousel comprises rows or columns that eachreference a number feed items of the number of video feeds. The firstcarousel and second carousel rotate as a function of movement of theother.

In yet another embodiment, a method for presenting content through aninterface to provide personalized video feeds to a user from variousInternet sources is disclosed. A number of pointers to a number of videofeeds is produced, where each video feed is acquired from Internetservices accessible with the Internet and includes a number of feeditems. Each video feed item is defined by a separately resolvableuniversal resource indicator (URI) to another content item availablewith the Internet. The number of pointers are programmed to displayalong a first carousel in the interface for the user. A number of videofeeds that each reference a number of feed items are produced, causingarrangement of the number of video feeds in a second carousel. Each ofthe number of video feeds is arranged in a column or row. The firstcarousel and second carousel are programmed to rotate as a function ofmovement of the other.

In still another embodiment, a method for presenting content through aninterface to provide personalized video feeds to a user from variousInternet sources is disclosed. A number of pointers to a number of videofeeds is provided. Each video feed is acquired from Internet servicesaccessible with the Internet and includes a number of feed items. Eachvideo feed item is defined by a separately resolvable universal resourceindicator (URI) to another content item available with the Internet. Thenumber of pointers is displayed along a first carousel in the interfacefor the user. A number of video feeds that each reference a number offeed items is determined. The number of video feeds are arranged in asecond carousel, where each of the number of video feeds is arranged ina column or row. The first carousel and second carousel are rotated as afunction of movement of the other.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description provided hereinafter. It shouldbe understood that the detailed description and specific examples, whileindicating various embodiments, are intended for purposes ofillustration only and are not intended to necessarily limit the scope ofthe disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is described in conjunction with the appendedfigures:

FIG. 1 depicts a block diagram of an embodiment of an Internet systemthat aggregates two or more Internet service feeds;

FIGS. 2A, 2B, and 2C depict diagrams of embodiments of a feed processingflow;

FIGS. 3A and 3B depict block diagrams of embodiments of an aggregationsystem;

FIGS. 4A and 4B depict diagrams of embodiments that illustrate thelogical flow of feeds;

FIG. 5 illustrates a flowchart of an embodiment of a process forgathering feed items;

FIG. 6 illustrates a flowchart of an embodiment of a process forprocessing a service feed;

FIGS. 7A, 7B, and 7C depict an embodiment of a user interface to theaggregation system;

FIGS. 8A, 8B, and 8C depict another embodiment of the user interface tothe aggregation system;

FIG. 9 depicts an embodiment of a first pane of the user interface tothe aggregation system;

FIGS. 10A, 10B, and 10C depict another embodiment of the user interfaceto the aggregation system;

FIG. 11A depicts yet another embodiment of the user interface to theaggregation system;

FIG. 11B depicts a block diagram of an embodiment of a video-contentsubscription system;

FIGS. 11C and 11D illustrate flowcharts of embodiments of processes forproviding contracted genre modes;

FIG. 11E illustrates a flowchart of an embodiment of a process forreporting data derived from a multi-feed based system;

FIG. 12 depicts still another embodiment of the user interface to theaggregation system;

FIG. 13 illustrates a flowchart of an embodiment of a process forcreation of an Auto Feed;

FIG. 14A depicts a block diagram of an embodiment of a notificationmanagement system interfaced with components of the aggregation system;

FIG. 14B depicts a block diagram of a notification engine interfacedwith a user-interface notification center and a platform-levelnotification center;

FIG. 14C depicts an embodiment of the user interface to the aggregationsystem that includes a notification pane;

FIG. 15 illustrates a flowchart of an embodiment of the notificationmanagement system correlating a notification request to a feed item; and

FIG. 16 illustrates a flowchart of another embodiment of thenotification management system handling a notification request.

In the appended figures, similar components and/or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If only the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

DETAILED DESCRIPTION

The ensuing description provides preferred exemplary embodiment(s) only,and is not intended to limit the scope, applicability or configurationof the disclosure. Rather, the ensuing description of the preferredexemplary embodiment(s) will provide those skilled in the art with anenabling description for implementing a preferred exemplary embodiment.It is understood that various changes may be made in the function andarrangement of elements without departing from the spirit and scope asset forth in the appended claims.

Referring first to FIGS. 1 and 2A, a primary embodiment is shown thatincludes an Internet system 100 that aggregates two or more Internetservice feeds 206. FIG. 1 shows a block diagram of the Internet system100 without showing the Internet or other network that couples thevarious blocks together. FIG. 2A shows a functional diagram of variousfeeds and filters that operate to convert service feeds 206 intoselective feeds 220. Only a single selective feed 220 and a single user116 is shown, but it is to be understood that there are many differentselective feeds 220 for many different users 116 supported by theInternet system 100. An aggregation system 108 selectively andoptionally narrows the aggregate of the service feeds 206 into one ormore selective feeds 220, and presents the selective feed(s) 220 to auser 116 viewing with a rendering system/device/agent 112 at a userlocation 120. In this disclosure, the singular and plural terms“selective feed” and “selective feeds” are used interchangeably forconvenience, clarity and readability, to mean one or more selectivefeeds 220, and should be interpreted accordingly. In the primaryembodiment, a selective feed 220 is created from the aggregate ofservice feeds 206 by including only items from the aggregate of servicefeeds 206 which are, contain, refer to, or otherwise indicate, videocontent. This creates a condensed and video-specific selective feed 220from the aggregate of service feeds 206. The Internet services 126 aregenerally operated by third parties (e.g., websites, Facebook™,YouTube™, Twitter™).

In other embodiments, a selective feed 220 is created by selecting(meaning to include and/or exclude) items which are, contain, refer to,or otherwise indicate one or more media types other than video or inaddition to video; is created from a single Internet service feed 206 byselecting items which are, contain, refer to, or otherwise indicatevideo content; is created from a single Internet service feed 206 byselecting items which are, contain, refer to, or otherwise indicate oneor more media types other than video or in addition to video; is createdfrom a single Internet service feed 206 or from an aggregate of morethan one Internet service feed 206 by selectively narrowing the singleservice feed 206 or aggregate of service feeds (i.e., an aggregate feed204) by selecting items which are, contain, refer to, or otherwiseindicate video content and based on one or more other criteria,including user, Internet service, user within Internet service, source,user within source, user ratings or rankings, user comments, keywords,tags, user tags, topic, category, language, other content indicators,length, format and/or codec, fidelity (such as standard definition,720p, 1080p), time and/or date, device 112, or location 120; is createdfrom a single service feed 206 or from an aggregate feed 204 byselectively narrowing the single feed 206 or aggregate feed 204 byselecting items which are, contain, refer to, or otherwise indicate oneor more media types other than video or in addition to video, and basedon one or more other criteria, including user, Internet service, userwithin Internet service, source, user within source, user ratings orrankings, user comments, keywords, tags, user tags, topic, category,language, other content indicators, length, format and/or codec,fidelity (such as standard definition, 720p, 1080p), time and/or date,device 112, or location 120 respectively, optionally through use of afirst-stage filter 212 and/or a second-stage filter 216; or is createdfrom a single service feed 206 or from an aggregate feed 204 byselectively narrowing the single service feed 206 or aggregate feed 204by selecting items based on other similar or dissimilar criteriarespectively, optionally through use of a first-stage filter 212 and/ora second-stage filter 216.

In the primary embodiment, the user configures which service feeds 206will be aggregated as the basis for her selective feed(s) 220 andsupplies whatever credentials are required in order to enable theaggregation system 108 to collect the configured service feeds 206. Theselective feed 220 is produced from one or more service feeds 206 withoptional first-stage filtering 212 that are collected into an aggregatefeed 204 that may have an optional second-stage filter 216. Some feedsmay be specific to her, for example her Twitter™ service feed 206(which, although it may comprise the Twitter™ messages [“tweets”] ofmany Twitter™ users, will contain only those of the feeds that shefollows) or her email service feed 206 (inbound email messages); in manysuch cases, the ability of the aggregation system 108 to access theseservice feeds 206 will depend on the user 116 supplying her credentials,typically her username and password, for the aggregation system 108 touse. In the primary embodiment, a user 116 can provide accesscredentials for other Internet services 126, either permanently(allowing the aggregation system 108 to store the credentials) ortemporarily (the aggregation system 108 uses the credentials for thecurrent session but does not store them, or stores them temporarily),and can revoke access, in effect disconnecting a given service feed 206from the aggregation system 108. Other service feeds 206 may be freelyavailable service feeds 206, such as published service feeds 206, forexample a YouTube™ channel or the RSS feed of a website; service feeds206 such as these often will not require any credentials. In the primaryembodiment, these service feeds 206 can be configured or de-configured,even though there may be no access credentials required to access, or torevoke, these service feeds 206. Other service feeds 206 may be createdby, or made available to, the aggregation system 108 by querying one ormore websites or other publicly available or privately availableInternet content sources or services 126.

FIG. 2B shows an embodiment where an aggregate feed 204 developed by oneuser 116 is made available to other users of the aggregation system 108just like any other service feed 206. A user 116 can subscribe toanother user's aggregate feed 204 as a video-sharing feed 224, so longas the original user has not marked the aggregate feed 204 as private. Auser 116 can suggest their aggregate feed 204 or a video-sharing feed224 to other users. In the example of FIG. 2B, one user has configuredan aggregate feed 204 from a number of service feeds 206 with optionalfirst-stage filtering. The aggregate feed 204 is mirrored to a videosharing feed 224 that is available to another user that optionallyspecifies a second-stage filter 216 to create a selective feed 220.

In the primary embodiment, a user 116 creates a username and password,or uses other credentials she has created (such as her Facebook™username and password, via Facebook™ Connect) or that are available toher (such as her employer-assigned username, password, or othercredentials, or such as system-created credentials, includingcredentials that precisely, loosely, approximately, or otherwiseidentify her or associate her with one or more services or resources),to access and control her selective feed 220 (configure and reconfigurethe service feeds 206 that will be aggregated to create her selectivefeed 220, connect and configure rendering systems 112, and perform othercontrol and configuration functions). In other embodiments, a user 116can use other access credentials or methods, or is required to use noaccess credentials or methods, to access or to control some or allaspects of her selective feed 220 through the aggregation system 108.

As described previously in the primary embodiment, some service feeds206 (which will be included in the aggregation of feeds as the basis fora user's selective feed 220), such as Twitter™ service feeds 206 orservice feeds 206 from email accounts, may consist, in part or entirely,of items that can be identified to particular users 116 or othersub-entities within the overall service feed 206; for example, aTwitter™ service feed 206 comprises messages that can normally beidentified with one or more particular Twitter™ users, Twitter™accounts, and/or Twitter™ lists. In addition, feed items from a servicefeed 206 (which will be included in the aggregate feed 204 as the basisfor a user's selective feed 220), may have other optional or mandatoryattributes; for example, messages in an email service feed 206 may havea priority flag, a spam flag, or one or more other attributes. In anoptional aspect of the preferred embodiment, a user 116 can furtherconfigure a specific service feed 206 (which will be aggregated as thebasis for a user's selective feed 220) to include or exclude feed itemsfrom aggregation into the basis for the user's selective feed 220, basedon the user 116, account, list, entity, or other attribute orcharacteristic of items in the Internet service feed 206.

In the primary embodiment, the aggregation system 108 is implemented asan Internet service and supports two or more users. Accordingly, in theprimary embodiment the aggregation system 108 collects service feeds 206as configured for each one of the multiple users 116 of the aggregationsystem 108, and selectively narrows the aggregate feeds 204 and/or videosharing feeds 224 into one or more selective feeds 220 for each user116. In other embodiments, the system 100 is implemented as an Internetaggregation system 108 that supports only one user 116; is implementedas software deployed on one or more user devices or rendering systems112 and supporting one or more users 116 of those devices 112; isimplemented as software deployed in an Internet network supporting oneor more users 116; or is implemented as a feature of another Internetservice 126.

With reference to FIG. 2C, another embodiment of a diagram showingcreation of a selective feed 220. In this embodiment, the selective feed220 is a function of a video-sharing feed 224 formulated by another userand an aggregate feed 204 designed by the user 116. A second-stagefilter takes the aggregate feed 204 and may select in, or filter out,certain parts of the aggregate feed 204 based upon a criteria specifiedby the user. The selective feed 220 could include any number ofvideo-sharing feeds 224 for optionally combining with an aggregate feed204. The user could avoid specifying an aggregate feed 204 in otherexamples solely relying upon one or more video-sharing feeds 224 tocreate her selective feed 220.

In the primary embodiment, some service feeds 206 configured foraggregation may overlap (e.g., if a popular celebrity is followed onTwitter™ by more than one user of the system); in this case, the servicefeed 206 configured for aggregation is only obtained once, and can besimultaneously, synchronously, asynchronously, or discontinuously used(or re-used) as the basis for the other users 116 who also haveconfigured that feed for aggregation. In this fashion, the aggregationsystem 108 of the primary embodiment is efficient in its use ofresources and avoids duplicate or repetitive processing. Reuse may evenbe used where credentials are used by one user for a service feed 206that will be used for another user.

In other embodiments, some or all of any overlapping service feeds 206configured for aggregation are obtained separately for some or all users116 that have configured that service feed 206 for inclusion in theiraggregate feeds 204. Where credentials are required, service feeds 206could be kept separate and retrieved in duplicate from the Internetservice 126. Separation could be done in some embodiments regardless ofwhether credentials are required.

In the primary embodiment, optionally some service feeds 206 that a user116 configures for aggregation can be provided by the Internet service126 individually for that user 116, so that some or all users 116 whohave configured that service feed 206 for inclusion in their aggregatefeed 204 receive personalized, partially personalized, unique, partiallyunique, or potentially unique selective feeds 220 that are specific tothem or that are created expressly for them. In the primary embodiment,the user 116 is identified via a user ID associated with the aggregatefeed 204 that she provides to the aggregation system 108, and that theaggregation system 108 passes to the Internet service 126 of the servicefeed 206 to be aggregated, enabling that Internet service 126 toconfigure and return, or otherwise send, a service feed 206 customizedfor, or attributable in whole or in part to, that specific user 116. Inthis optional aspect of the primary embodiment, the user 116 alsoprovides a password, so that the user 116 can be authenticated to theInternet service 126. In another embodiment, a password is not required.

In other embodiments, the user 116 is identified by any of, all of, orany combination of: a user ID, with or without a password; associationwith a specific device 112, device identifier, MAC address, or otherattribute or data element associated with a device 112; association witha network address, network identifier, telephone number, or otherattribute or data element associated with a network; association withcontent, a set of content, a pattern of content viewed, a content accesscharacteristic, a set of content access characteristics, or a pattern ofcontent access characteristics; association with a stored identifier,such as an Internet browser cookie, a Flash™ local shared object, or asimilar file; association with a derived identifier, such as a devicefingerprint comprising one or more aspects of the user's device 112and/or device software; association with biometric information;association with a usage pattern or characteristics; or associationthrough another method of identifying a user or a user's associationwith a feed provider.

In the primary embodiment, while most service feeds 206 configured foraggregation are service feeds, additional feeds can optionally beconfigured for aggregation that provide data, sound, music, or otherinformation, rather than video content, to the aggregation system 108.This data or other information can be used by the aggregation system 108in the optional creation of algorithmically created, filtered, oralternatively sequenced feeds; for example, a data feed of a user'sfantasy sports league rosters could be configured for aggregation, andthe aggregation system 108 could then use the information it receivesabout the user's fantasy sports roster as a basis for identifying itemsfor, filtering items contained within in, or alternatively sequencingthe items in, the user's selective feed 220; in this optionalembodiment, if and as the provided data or other information changed,the content of, filtering of, or sequencing of the items contained inthe selective feed 220 would change accordingly.

Referring next to FIG. 3A, a block diagram of an embodiment of anaggregation system 108-1 is shown. There are various stores ofinformation that may be in a database, file system, and/or memory datastructure, specifically, service feed items 308, aggregate feed items328, selective feed items 332, service credentials 314, and feed filters324. The information in the various stores can be combined into a singlestore or divided between a number of stores at a number of locations.The aggregation system 108-1 includes application software running onone or more hardware servers in one or more locations.

The aggregation engine 304 manages processing of information within theaggregation system. Service interfaces 320 periodically check thevarious Internet services 126 for new service feed items 308. Servicecredentials 314 are stored when and if the service credentials 314 areprovided by users 116 and used by the service interfaces 320 whererequired by the Internet services 126. Service feed items 308 areprocessed and stored. In some cases, Service feed items 308 can bepushed to the aggregation engine 304 without the need to query forservice feed items 308 by the Internet services 126.

In another embodiment, one or more Internet services 126 send, transmit,or otherwise provide service feed items 308 to the aggregation system108, accessing an Application Programming Interface (API) or otherinterface mechanism to provide feed items, associated content, metadata,extracts or highlights, and any other information related to the servicefeed 206 or to individual service feed items 308 in the service feed206.

There can be first-stage filters 212 and second-stage filters 216 storedas feed filters 324. The feed processor 316 performs standard filteringto find appropriate feed items, but can also apply the first-stagefilters 212 and second-stage filters 216 as specified by the users 116.The service feed items 308 are organized by their source Internetservice 126, category, sub-category, subject, topic or topics, tag ortags, genre, content rating, reviewer rating, popularity, and/or otherfactors. The aggregate feed items 328 are an aggregation from multipleservice feeds 206 specified by a user 116 after any feed filter 324 isapplied by the feed processor 316. The selective feed items 332 arefurther filtered by the feed processor 316 using any second-stagefilters 216.

Filters, including first-stage filters 212 and second-stage filters 216,or other filters, can be absolute or can be indicative of proportion orrelative weight or degree, or can combine both. Thus, a filter appliedto the aggregate or video sharing feeds 204, 224 of one user couldcompletely block, or always include, inclusion in the selective feed 220or a subset of the selective feed 220 those feed items 328, 332 matchingthe specified criteria, whereas the filter applied to the feed 204, 224of a second user could operate to reduce the number of such feed items328, 332, but not completely block such feed items 328, 332, or operateto increase the proportion of such feed items 328, 332, but not alwaysinclude such feed items 328, 332, in the selective feed 220 or a subsetof the selective feed 220 of that second user, and whereas the filterapplied to the feed 204, 224 of a third user could operate to change theposition or sequence of feed items 328, 332 matching the specifiedcriteria in the selective feed 220 or a subset of the selective feed 220of that third user. For example, in a user interface 312, such filterscould be visually presented to a user as a “slider” bar, where the farleft position means “always include,” the far right position means“always exclude,” and positions between the far left and far right meangraduated degrees of inclusion, importance, or priority.

Once a service interface 320 has found a Service feed item 308, it isprocessed to determine included video or content link, feed servicesource, description of the video or content, any reviews or rankings,user comments, related article(s), etc. In the various stages ofprocessing, all the information that comprises the service feed item 308need not be replicated. The aggregate feed 204 can be a list ofidentifiers that specify which service feed items 308 to include.Similarly, the selective feed 220 can be a list of the service feeditems 308 that have not been filtered out and are specified forinclusion for one or more users 116.

The user 116 interacts with a user interface 312 to configure theaggregation system 108. An account is created through the user interface312 where service feeds 206 are specified, filtering, credentials, etc.Additionally, the user 116 can authenticate herself with the aggregationsystem 108, for example, with a user name and password or with othercredentials. Content pages are supplied through the user interface 312to display the selective feed items 332. The selective feed items 332can be organized by oldest items, newest items, most highly reviewed,popularity, unviewed items, or any other criteria or combination ofcriteria. The user interface 312 may be supplied by the aggregationsystem 108, implemented in an application, applet or app on therendering system 112, or divided in implementation between theaggregation system 108 and rendering system 112 in various embodiments.

With reference to FIG. 3B, a block diagram of an embodiment of anaggregation system 108-2 is shown. This embodiment adds functionalityover the embodiment of FIG. 3A by adding capability to automaticallydetermine and/or configure service feeds 206 that are based uponactivities of users 116 with Internet services 126. During normal use ofInternet services 126, users 116 will view content, “like,” or“thumbs-up” certain content, persons, channels, products, and otherentities, or may otherwise rank them, for example, with stars on a5-star scale, which are herein referred to as “service preferences.” Apreference engine 336 accesses service credentials 314 previouslyentered by each of the users 116 for the various Internet services 126that they use. These Internet services 126 may or may not have feeditems, but can provide a source for one or more particular servicepreferences of a user 116.

Service preferences are gathered by the preference engine 336 foranalysis to determine one or more service feeds 206. Some embodimentsmight collect the service feeds 206 into an aggregate feed 204.Optionally, the preference engine 336 maps a preference to service feed206 using a feed correlation index 304. Various policies are formulatedwith one or more records in the feed correlation index 304. For example,“liking” a video about Oprah Winfrey could be mapped to a service feed206 based upon her tweets. In some cases, the feed correlation index 340could map a service preference to an aggregate feed 204, for example, apreference toward Oprah Winfrey would be mapped to an aggregate feed 204formed from her tweets, her web site and her network. Subsequentactivity such as a “thumbs-down,” bad review or un-liking could remove aservice feed 206 that was previously automatically added.

Certain presumptions are automatically made from the servicepreferences. In some cases, there is not a service feed 206 that exactlycorresponds with a service preference. For example, Rachel Maddow'sFacebook™ page could be liked and a service feed 206 MSNBC™ could beautomatically subscribed to. Where there is little web-accessible videoavailable for a service preference, a related service feed could bechosen. For example, where a user 116 views several videos on RichardNixon, a service feed 206 for the Republican political party could beselected.

Algorithms can be used to determine if a service preference shouldresult in a service feed 206 being made into a channel or aggregatedwith other service feeds 206 into an aggregate feed 204. Similar servicefeeds 206 could automatically be grouped together according to acategory stored in the feed correlation index 340. For example, likingpolitical videos from several candidates could automatically be groupedinto an aggregate feed 204. The user 116 can manually separate theservice feeds 206 or combine the service feeds 206 in any way that theuser 116 likes.

Some embodiments use crowd sourcing to refine and formulate the feedcorrelation index 340. Where a service preference is determined, severalpresumably related service feeds 206 could be suggested. As users 116select those service feeds 206 to add, the feed correlation index 340could be updated to capture mapping that wasn't initially contemplated.As more and more users 116 select related service feeds 206 for aservice preference, the mapping will evolve over time to increaseaccuracy. For example, views of the Bob Newhart Show™ may initially mapto the CBS™ service feed 206, but users 116 could select a differentservice feed 206 relating to drinking games. The alternative optioncould become the initial mapping or just an alternative selectionpresented to users 116.

The service preferences can be gathered from interactions at theaggregation system 108 itself rather than Internet services 126. A user116 may interact with one or more videos that have a mapping in the feedcorrelation index 340. That interaction can cause a new service feed 206to automatically be added. For example, an existing channel with feeditems from a number of sources could have three videos “liked” that havein common a particular actor. The service feed 206 for that actor ormedia entity could automatically be added if not already subscribed to.

This embodiment also includes an audit function 344 coupled to the userinterface 312. The audit function 344 records all manual interactionbetween the user and the aggregation system 108. The audit function 344also records the service preferences gathered by the preference engine336 in interacting with the Internet services 126. Each audit record istime stamped to allow later reconstruction of an interaction time line.

In addition, or alternatively, in this embodiment service preferencescould be used by the preference engine 336 to populate, order, filter,or otherwise influence the presentation of the aggregate feed 204 orother feeds presented to the user 116. For example, “Liking” aparticular actor or comedian's Facebook™ page could promote feed itemsthat feature that actor or comedian to a higher position within aselective feed 220 to include only talk show appearances; similarly,indicating “thumbs down” on a particular product or manufacturer couldfilter feed items about that manufacturer from a feed filtered toinclude only product reviews.

In this embodiment, expressed interests, likes, and dislikes specific toa particular user 116 can be utilized by the aggregation system 108 inselecting feeds that will be presented to the user 116 and/or inselecting, ordering, or otherwise presenting the items within feedspresented to the user 116.

A notification management system (NMS) 348 is included in thisembodiment. A particular user 116 could have any number of renderingsystems or devices 112 that are used with the aggregation system 108.The user's account on the aggregation system 108 can have messaging thatis specific to a particular device 112 or can be sent simultaneously tomultiple devices 112 associated with the user's account. Once a messageis read on one device 112, it can be marked as read or deleted on otherdevices 112 through synchronization managed by the NMS 348. From theperspective of the user 116, interaction with the messaging of theaggregation system 108 is unified and consistent regardless of whichdevice 112 is used at a particular time.

A user index 352 is included in this embodiment. The user index 352contains data about the users 116, user interfaces 312, and/or devices112. The user index 352 is used to map a user 116 to one or more devices112 and/or one or more user interfaces 312. The user index 352 containsinformation such as user IDs, user-interface-specific identifiers,device-specific identifiers, network addresses, and/or platforms used ondevices 112. The aggregation engine 304 queries the user index 352 andpasses information from the user index 352 to the NMS 348 so the NMS 348can transmit notifications to the user interfaces 312 and/or devices112.

A reporting interface 356 is also included in this embodiment. Theaggregation system 108 collects data about users 116 individually andcollectively. The reporting interface 356 allows the aggregation system108 to report out the data about users 116 to other systems, such assearch engines.

Referring next to FIG. 4A, a diagram 400-1 of an embodiment illustratingthe logical flow of feeds is shown. In this embodiment, there are xservice feeds 206, y aggregate feeds 204 and z selective feeds. Thearrows show how service feeds 206 are typically logically combined intoaggregate feeds 204 and optionally logically combined into selectivefeeds 220. For example, a first service feed 206-1 is the solecontributor to a first aggregate feed 204-1. The first, third and fifthaggregate feeds 204-1, 204-3, 204-5 are identified by the user 116 to becombined into the first selective feed 220-1. In another example, thethird and fifth service feeds 206-3, 206-5 combine into the fourthaggregate feed 204-4 before being the sole contributor to the fifthselective feed 220-5.

With reference to FIG. 4B, a diagram 400-2 of an embodiment illustratingthe flow of feeds is shown. This embodiment adds user-defined filteringthrough first-stage filters 212 and second-stage filters 216. Thesefilters are in addition to standard filters that screen for feed itemsthat are of a particular type, for example, video feed items arescreened to exclude items that have no video. In one example, the fifthservice feed 206-5 is provided to fourth and fifth aggregate feeds204-4, 204-5. A first-stage filter 212 on prior to the fifth aggregatefeed may select for, or screen out, any Service feed items 308 relatingto a particular subject or with a particular characteristic, forexample, HD video or with a keyword or tag of “Charlie Sheen”. Inanother example, the second aggregate feed 204-2 is provided to both thefirst and second selective feeds 220-1, 220-2 with only the secondselective feed 220-2 filtering the input aggregate feed items 328.

Referring next to FIG. 5, a process 500 for gathering feed items isshown for the primary embodiment. The depicted portion of the processbegins in block 504 where the service interfaces 320 gather Service feeditems 308. Any needed service credentials 314 are used to get access tothe service feeds 206. In block 508, the service feeds 206 chosen by thevarious users are gathered by the service interfaces 320. Each servicefeed 206 could be checked periodically for new Service feed items 308.Processing is performed on the Service feed items 308 in block 512.

Various users 116 have subscribed to the various service feeds 206. Inblock 516, the processed Service feed items 308 are routed to thesubscribed aggregate feeds 204. Any first-stage filter 212 specified bythe user is performed on the Service feed items 308 before they becomepart of the aggregate feed 204 in block 520. The aggregate feed items328 are routed to selective feeds 200 that have subscribed in block 524.Any second-stage filter 216 is applied on the selective feed items 332in block 528. The user 116 periodically will access the aggregationsystem 108 to view the selective feed 220 through the user interface 312or the device 112.

With reference to FIG. 6, a process 512 that fixes the service feed 206is shown. The aggregation system 108 determines whether an aggregatefeed item 328 from an aggregate feed 204 is itself, or references orincludes within it, video content, and if the aggregate feed item 328 isor does, processes the aggregate feed item 328, by any of, some of, orall of the following blocks, depending on the requirements presented bythe aggregate feed item 328 from the service feed 206, and executed inany order as determined by the requirements presented by the aggregatefeed item 328. The depicted portion of the process 512 begins in block604 where the aggregation engine 304 identifies and categorizes theService feed item 308 and extracts available characteristics of theService feed item 308, e.g. any available identifying, classifying,temporal, or system-related characteristics of the Service feed item308.

In block 608, the aggregation engine 304 determines whether the Servicefeed item 308 has been previously processed, and if it has, how recentlyand in what context. Next, it is determined whether a Service feed item308 is itself a video resource. The aggregation engine 304 determineswhether a Service feed item 308 that is not a video resource is a webpage, RSS feed, XML file, or other data type that potentially containswithin it URLs that are video resources or that iteratively requirefurther processing in block 612. Embedded executable code containedwithin the resource is executed in block 616, such as Javascript™contained with a web page, to obtain content that is normally activatedwithin that resource by a browser or other software client's executionof such embedded executable code, and further processes the contentthereby obtained. In block 620, it is determined whether a videoresource URL or other resource URL is content, or is a URL for anadvertisement (either video or non-video); and if it is a URL for anadvertisement, ignores it.

Optionally, a module or function of the aggregation engine 304, or aseparate system or module associated with the aggregation engine 304,may repetitively access, execute, download, or otherwise activate all ofor part of a service feed item 308, web page, web page element, URL,<video> tag, other tag, embed code, other content container, or othercontent indicator, identifying itself as a different user agent, devicetype, media player type, or other component type, and/or within sameidentifying itself as having different functions, capabilities,connectivity, characteristics, or capacities at each such access,execution, download, or activation, in order to receive multiplealternative responses indicating alternative formats, protocols,structures, policies, or other characteristics that may be available.Where multiple such alternative responses are available, the module orfunction of the aggregation engine 304, or separate system or moduleassociated with the aggregation engine 304, may store some or all of thealternative responses and optionally some or all of the optionsassociated with some or all of the accesses, executions, downloads, oractivations associated with the responses.

A URL in a Service feed item 308 can be redirected and/or rewritten whenactivated. In block 624, it is determined whether a URL is a shortenedURL, and if it is, issues an HTTP (or other appropriately formattedrequest) for that URL to obtain the actual base reference URL forfurther processing. It is determined whether the base reference URL haspreviously been processed in block 628, and if it has, determineswhether a modification, creation, or expiration date parameter isassociated with the base reference URL, and if one is available,determines whether it indicates that the resource identified by the basereference URL has been changed, or has not been changed, since the basereference URL was previously processed. Where the base reference URL wasnot previously processed, the aggregation engine 304 parses thesurrounding resource to obtain metadata, such as dates, times, propernames, and other metadata, that is potentially relevant to, associatedwith, or descriptive of, the video resource in block 632. Theaggregation engine 304 optionally parses the surrounding resource toobtain user comments, “likes,” ratings, and other user feedback or othercontent. The aggregation engine 304 optionally associates data obtainedfrom the surrounding resource with the base reference URL or base videoobject, in order to aggregate data obtained from multiple surroundingresources in which a particular base reference URL or base video objectappears.

Where a base reference URL is available for the URL, such as may be thecase for syndicated content, the aggregation engine identifies whether abase reference video object is available for a video resource identifiedby a URL. In block 636, a syndicated video resource that has not beenpreviously stored, is stored. Optionally, one or more short highlightsof the video object are extracted and stored; in the currentimplementation of the primary embodiment, a single 15 second highlightedis extracted and stored. Optionally, the video resource, the extractedhighlight(s), or both (all) are transcoded or otherwise processed intoone or more other formats, codecs, bitrates, containers, or forms. Theaggregation engine stores and associates the data and objects obtainedvia this process 512, keyed at least by the item processed and by thevideo resource as a service feed item in block 640.

In the primary embodiment, the aggregation system 108 optionallyeliminates duplicate video items (i.e., items that appear in more thanone of the service feeds 206 aggregated for one or more users 116),while preserving the selective feed item's 332 presence in any of theselective feeds 220, or any of the filtered or narrowed views of any ofthe selective feeds 220. In the primary embodiment, the user 116 canalso add a resource or item to the aggregation system 108, so that thevideo will be included in the user's aggregate feeds 204 and processedto derive the user's selective feed 220, by providing the resource'sURL, embed code, or other identifier to the aggregation system 108; thatitem is processed as if it were an item obtained from a service feed206.

In an optional aspect of the primary embodiment, some Internet services126 are blocked by the aggregation system 108, so that a user 116 cannotconfigure such Internet service 126 for aggregation, cannot add anInternet item 308 associated with that Internet service 126 to theaggregation system 108, or otherwise designate content from thatInternet service 126 for incorporation into the aggregation system 108;this optional aspect of the primary embodiment can be configured toprevent the aggregation system 108 from accessing and/or incorporatingcontent associated with, or obtained from, Internet services 126 thathave been identified as being Internet services 126 that consistpartially, predominately, or entirely of content that is undesirable,prohibited, illegal, pirated, unlicensed, copied, or otherwiseobjectionable. In another embodiment of this optional aspect, someInternet services 126 are blocked by the aggregation system 108 for someusers 116, based on criteria associated with users 116 or renderingdevices 112, or other criteria. In another embodiment of this optionalaspect, some or all Internet services 126 are configured for contentreview and each feed item 332 (including related or associated content)is inspected for a digital watermark, digital fingerprint, audio contentmatch, or other content match to determine whether the specific feeditem 332 and its related or associated content is permitted or blocked.

Referring next to FIGS. 7A, 7B and 7C, an embodiment of a user interface312 to the aggregation system 108 is shown. In the primary embodiment,the user interface 312 for a full screen (as opposed to mini)browser-based user 116 who is recognized by the aggregation system 108comprises a content navigation pane 720 with navigational and othercontrols across the top of the screen, a presentation of the user'sselective feed running in a feed pane 712 beneath the content navigationpane 720 and down the left side of the screen, an active item pane 708for video playback underneath the overall controls on the right side ofthe user interface 312, an information display showing information(i.e., title 740, source 756 and description 744) about the videounderneath the video window 702, and a comment entry field 752 andsharing controls 724, 728, 732 beneath the information display.

In an optional aspect of the primary embodiment, a user interface 312for a full screen browser-based user is a video playback window 702embedded in a web page published by a party other than the primaryembodiment aggregation system 108. The embedded user interface 312 couldalso include a feed pane 720 and/or a content navigation pane 720. Otherembodiments could include a feed pane 712 that is overlaid or replacedby a video playback window 702 when one selective feed item 332 ischosen.

In another optional aspect of the primary embodiment, one or more dataelements or types related to each selective feed item 332 is presentedfrom some or all of the Internet services 126 associated with theservice feeds 206 in which the selective feed item 332 was found, forexample, ratings, comments, “likes,” shares or other such informationabout a selective feed item 332. In yet another optional aspect of theprimary embodiment, one or more data elements or types related to eachselective feed item 332 is consolidated from some or all of the Internetservices 126 associated with the service feeds 206 in which theselective feed item 332 was found, for example, “likes” or shares of afeed item 332 are aggregated from multiple Internet services 126, orratings of a feed item 332 are averaged or otherwise mathematicallyconsolidated from multiple Internet services 126.

In another optional aspect of the primary embodiment, the user interface312 and controls are adapted to the display characteristics and datainput/output capabilities of an Internet-connected television, with thevideo playing in the full screen, or nearly the full screen, of thetelevision display with translucent information related to the videodisplayed over the video as the video playback window 702 starts andthen fading-out after several seconds to provide unimpeded visual accessto the video; controls, such as “skip to the next video” or “bring upthe selective feed,” are executed via pressing keys on the televisionremote. In some cases, a playback manipulation control 748 would overlaythe video playback window 702 translucently when temporal manipulationof playback is performed and fade away after manipulation.

In another optional aspect of the primary embodiment, the user interface312 and controls are adapted to the display characteristics and datainput/output capabilities of an Internet-connected smartphone or tablet,with the video playback window 702 playing in the full (albeit, in atleast some cases, physically small) screen, or nearly the full screen,of the smartphone or tablet, with information 740, 756, 744 related tothe video displayed over the video as the video starts and then fadingout after several seconds to provide unimpeded visual access to thevideo; controls, such as “skip to the next video” or “bring up theselective feed,” are executed via gestures made by touching the screen,or by pressing keys on a soft keyboard invoked to appear on the screen,or by pressing physical keys on the smartphone or tablet.

In another optional aspect of the primary embodiment, the user interface312 is split between two display screens, implemented as either twodisplay screens embedded in a single device or as two separate devices.A first display screen could be a television with the video playbackwindow 702 being supplied by internal circuitry or a set top box. Asecond display screen would be used to provide the feedback pane 712,content navigation pane 720, content information 740, 756, 744, playbackmanipulation control 748, comment entry field 752, sharing controls 724,728, 732, and/or embedded link control 736. The second display screencould be an intelligent remote control, a smart phone, a PDA, a personalcomputer, a tablet computer, etc. Communication could be directly fromthe second display screen to the first display screen or through anintermediary such as a set top box or through the aggregation system108.

In another embodiment, the interface 312 comprises multiple columns ofselective feed items 332, all of which may be sorted according to thesame criteria, or some or all of which may be sorted according toseparate criteria, implemented as multiple feed panes 712 or as multiplecolumns of information in a single feed pane 712. In this embodiment,one or more feed panes 712 would compress, dissolve or fade, shift toanother position, or otherwise visually give way to the active item pane708 when a selective feed item 332 is selected for playback.

In the primary embodiment, the selective feed 220 is presented to theuser 116 in reverse chronological timeline sequence, that is, with themost recent item first (e.g., at the top of a list of items) as shown inFIG. 7B. In other embodiments, the selective feed 220 is presented tothe user 116 in chronological timeline sequence; in modified reversechronological timeline sequence where selective feed items 332 aregrouped together, the selective feed items 332 within groups 758 arepresented in chronological timeline sequence and the groups 758 arepresented in reverse chronological timeline sequence; in modifiedchronological timeline sequence where selective feed items 332 aregrouped together, the selective feed items 332 within groups 758 arepresented in reverse chronological timeline sequence and the groups 758are presented in chronological timeline sequence; or in a sequencedetermined without regard to time order. Optionally, the selective feed220 may also be presented in one or more filtered or alternativesequences, for example any of, all of, or any combination of:

-   -   in reverse chronological or other sequence, filtered with a feed        filter 324 to show only the selective feed items 332 from a        particular aggregate feed 204 or topic 758 (e.g., the user's        Twitter™ feed, Facebook™ feed, music video feed, etc.), or only        the selective feed items 332 associated with a particular entity        within a service feed 206 (e.g., a particular Twitter™ entity        followed by the user), or only the selective feed items 332 from        a particular source (e.g., BBC Newsy™), or only the selective        feed items 332 that are associated with a particular topic,        metadata tag, proper name, or other identifier or attribute;    -   in reverse chronological or other sequence, filtered to show        only the selective feed items 332 from one or more particular        categories 750 (such as News, Sports, Celebrities, or Finance);        or, within that category 750, in reverse chronological or other        sequence, filtered to show only the selective feed items 332        from a particular aggregate feed 204, or only the selective feed        items 332 associated with a particular entity within a selective        feed 220, or only the selective feed items 332 from a particular        source, or only the selective feed items 332 that are associated        with a particular topic, proper name, or other identifier or        attribute;    -   in a sequence, determined entirely or in part by one or more        algorithms, and based on any of, all of, or any combination of:        filtering out duplicate, nearly duplicate, loosely duplicate,        repetitive, nearly repetitive, or loosely repetitive selective        feed items 332; identifying more or less popular, or more or        less relevant, selective feed items 332 as determined by the        total user population or by a subset of the user population,        based on the viewing (including started views, partially        completed views, completed views, and/or repeated views),        liking, sharing, saving, and other behavior of the other users        or subset of users, and where the subset is optionally        affiliated with, socially connected to, comparable to, loosely        or closely temporally coincident with, associated through        actual, geographic, or network location with, directly or        indirectly linked to, or otherwise related to the user, or        unrelated to the user;    -   in a sequence, determined entirely or in part by one or more        algorithms, and based entirely or in part on the selective feed        items 332 chosen based on the user's current or past actions or        behavior, including any of, all of, or any combination of: the        user's service feed 206 subscriptions; the specifics of the        user's service feeds 206; the user's viewing behavior, including        started views, partially completed views, completed views,        and/or repeated views; the user's likes, shares, saves, and        saves for later viewing; the user's search or other queries; the        user's added resources and items; the user's actions or behavior        associated with a device or devices 112, category of devices, or        attribute(s) or characteristic(s) of a device or devices 112, or        based on or associated with the user's comparative actions or        behavior associated with a device or devices 112, category of        devices 112, or attribute(s) or characteristic(s) of a device or        devices 112 as compared to the user's actions or behavior        associated with another device or devices 112, category of        devices 112, or attribute(s) or characteristic(s) of a device or        devices 112; and/or other user actions, inactions, or        behavior(s);    -   in a sequence, determined entirely or in part based on        information contained in: one or more non-video link service        feeds associated with the user, or determined entirely or in        part by one or more algorithms based entirely or in part on        information contained in one or more non-video link service        feeds associated with the user; or Service feed items 308 that        do not link to video content;    -   in a sequence determined entirely or in part by one or more        algorithms that increases, decreases, achieves a minimum, or        limits the maximum of, the number of consecutive Service feed        items 308 and/or the proportion of Service feed items 308 within        an overall range or group of Service feed items 308, from one        source or service feed 206, or from a group of sources or        service feeds 206, or from a type or category of sources or        service feeds 206, or with one or more other attributes;    -   including or excluding selective feed items 332 in a user's        selective feed 220 based, entirely or in part, on any of, all        of, or any combination of: determining whether the selective        feed items 332 have been included in the selective feed 220 of        another user with whom the first user has a relationship on one        or more social networks, such as a friend relationship, a        following relationship, or another social network relationship        or connection; the level of the user's usage, sharing activity,        rating activity, commenting activity, or other activity or        usage, on the aggregation system 108, or on one or more social        networks, or on one or more other digital systems, or any        combination of some or all; characteristics, including Service        feed item 308, service feed 206, category 750, device 112,        temporal, or other characteristics, of the user's usage, sharing        activity, rating activity, commenting activity, or other        activity or usage, on the aggregation system 108, or on one or        more social networks, or on one or more other digital systems,        or any combination of some or all; one or more aggregated,        subdivided, or cross-referenced user(s) or group(s) of users        within whose selective feeds 220 that the selective feed items        332 have been included into; one or more aggregated, grouped,        subdivided, categorized, allocated, identified, calculated,        ranked, or cross-referenced Internet services 126, Internet        service feeds 206, and/or individual or group(s) of user        selective feeds 220 that contain or do not contain, reference or        do not reference, refer to or do not refer to, indicate or do        not indicate, or otherwise signal one or more selective feed        items 332, at a point in time, over a period of time, based on        one or more other time-related characteristics, and/or without        respect to time; previous viewing of, sharing of, rating of, or        other usage of other selective feed items 332; previous viewing        of, sharing of, rating of, or other usage of other selective        feed items 332 included within the user's selective feed 220,        whether similarly included, arbitrarily included, or otherwise        included; one or more algorithms designed or intended to        maximize the individual or aggregate viewing of, sharing of,        rating of, or other usage of the included selective feed items        332, of other selective feed items 332, of other selective feeds        220, of the aggregation system 108, or of the device 112,        immediately, over time, without respect to time, or otherwise.        For example, a selective feed 220 from a user's social        networking account could exclude or include feed items 332 from        a particular friend, tagged with a particular keyword, or        excluded based on any other criteria to create a keyword feed        item. For another example, a selective feed 220 or an Internet        service feed 206 could be filtered and/or ordered based on how        many times the selective feed items 332 or other feed items were        shared by all users of a certain social networking service, some        users of all social networking services, other users with whom a        user has a relationship on one or more social networking        services, other users with whom a user does not have a        relationship on one or more social networking services, a        particular group of users on a social networking service (e.g.,        the most commonly followed users, users who most commonly share        media items, or users determined by some other means to be        particularly influential, predictive, or knowledgeable), or        another superset of, or subset of, users of one or more social        networking services; and/or    -   including or excluding selective feed items 332 in a user's        selective feed 220 based, entirely or in part, on any of, all        of, or any combination of: data obtained from the user's device        112, such as location, calendar data, stored media data, other        installed programs; data obtained from a service associated with        the user's device 112, or with another device 122 associated        with the user; data obtained from an Internet service 126        associated with the user 112.

In the primary embodiment, the videos are played sequentially in theorder in which they are presented to the user 116 in the selective feed220, and if the selective feed 220 is presented in a filtered ornarrowed ordered, then in that filtered or narrowed sequence. Thus, inthe primary embodiment and on a full screen browser-based user interface312 (e.g., a PC), the user can see the selective feed 220 on the left ina feed pane 712, which feed item 332 is currently playing, which feeditem(s) 332 recently played, and which items are coming up for playbackwith the feed items 332 arranged in the feed pane 712 as avertically-rotating carousel. In the primary embodiment, each item inthe running selective feed 220 presented on the left hand side feed pane712 of the screen portraying the user interface 312 contains descriptiveinformation about the item, such as the title 720, description 744,source 756, number of likes and shares, optionally other ratinginformation, and optionally other information; this enables the user tosee such information about feed items 332 not currently playing in thevideo playback window of the active item pane 708. The user 116 canmanually select feed items 332 within the selective feed 220 aspresented, typically by pointing and clicking on a feed item 332, atwhich point the feed item 332 begins playing in the video playbackwindow of the active item pane 708, which allows the user 116 todirectly access any feed item 332 on demand and begin playback as thefeed items 332 are rotated through a list of the selective feed 220arranged in a vertical carousel within the feed pane 712. The user 116can also select the next sequential video in the list of the selectivefeed 220 by clicking on a button or slider control that advancesplayback to the next feed item 332, which stops playback of the currentfeed item 332 and begins playback of the next feed item 332 in sequence.At the conclusion of any feed item's 332 playback, when playback of thatfeed item 332 reaches the end, the next feed item 332 in sequenceautomatically begins playback in one embodiment. Other embodiments coulduse a Play control to begin playback of the next feed item 332 after thecurrent feed item 332 is done playing.

In an optional aspect of the primary embodiment, automatic sequentialplayback continues indefinitely, until the end of the selective feed 220is reached; in this manner, a very long continuous period of videocontent playback—hours, days, weeks, months, limited only by the lengthof the history of the user's selective feed 220—can in principle beoffered to the user 116, with as much or as little action, and resultingcontrol, as the user desires. In another aspect of the primaryembodiment, automatic sequential playback is paused or stopped by theaggregation system 108 after a predetermined point or range, based on anumber of videos played, a total time amount of video played, a timeinterval that has elapsed since the last user-initiated action, the ageof an item in the user's selective feed, or other criteria; automaticsequential playback may then be resumed upon user initiation or if theuser responds to a prompt or system request or dialogue.

In an optional aspect of the primary embodiment, the user 116 canperform one or more of the following actions for some or all of the feeditems 332 in her selective feed 220:

-   -   “Like” a feed item, which marks it as a feed item the user 116        liked;    -   rate a feed item, which marks a feed item with her rating, which        may be positive or negative or either, and which may have any        range desirable, such as a scale of stars;    -   save a feed item, which marks it as a feed item the user 116 has        saved;    -   save a feed item for later viewing, which marks it as a feed        item the user 116 has saved and would like to view again,        including on a different device 112, and including on a specific        device 112 or group of devices 112;    -   pause a feed item to resume viewing later, which marks the feed        item as a feed item the user 116 has paused and would like to        continue viewing, including on a different device 112, and        including on a specific device 112 or group of devices 112    -   automatically save feed items, including any variation or        specific method of saving feed items, based on criteria the user        116 specifies, such as any of, all of, or any combination of,        feed items from one or more selective feeds, feed items        associated with one or more users or sources, feed items        associated with one or more topics or categories of topics,        length of feed item, content of feed item, category of feed        item, or other feed item attributes;    -   manually or automatically terminate the saving of a saved feed        item, including based on any of, all of, or any combination of        elapsed interval since saved, elapsed interval since last        viewed, elapsed interval since last shared or liked, elapsed        interval since last action by another person associated with the        user, selective feed(s) associated with the feed item, user(s)        associated with the feed item, sources associated with the feed        item, topics or categories of topics associated with the feed        item, length of feed item, content of feed item, category of        feed item, or other item attributes;    -   share a feed item with other users of the aggregation system, or        to users of one or more other Internet services (which may        require that she provide her user credentials for that system,        if she has not already provided them), or both, or otherwise        send feed items to other users of either the aggregation system        or another Internet service or both;    -   automatically share selective feed items 332, including any        variation or specific method of sharing selective feed items        332, based on criteria she specifies, such as any of, all of, or        any combination of, selective feed items 332 she has liked,        saved, stored, or rated, selective feed items 332 from one or        more selective feeds 220, selective feed items 332 associated        with one or more users or sources, selective feed items 332        associated with one or more topics or categories of topics,        length of feed item, content of feed item, category of feed        item, rating of feed item, or other feed item attributes;    -   share selective feed items 332, or automatically share selective        feed items 332, or both, using any of, all of, or any        combination of different automatic sharing policies, different        URLs, links, or other content identifiers, different content        players, presentation modes, or other presentation        implementations, or different user, application, or service        authentication requirements, determined entirely or in part,        directly or indirectly, according to which Internet service 126        the share or automatic share activity is executed to, or        according to the type of user or other entity, class of user or        other entity, or according to a characteristic of user or other        entity, whether based on the user or entity the share is from or        a user or entity the share is to, whether the shares or        automatic shares occur concurrently, at related or otherwise        synchronized times, or at different times; for example, when        sharing or automatically sharing a selective feed item 332 via a        particular social networking service, share that selective feed        item 332 via a URL native to the aggregation system 108 so that        when activated the URL will present the selective feed item 332        in a context associated with the aggregation system 108, while        at the same time when sharing or automatically sharing that same        selective feed item 332 or another feed item via a different        (second) social networking service, share that selective feed        item 332 via a URL native to the digital service with which the        selective feed item 332 is associated so that when activated the        URL will present the selective feed item 332 in context        associated with its digital service; as another example, when        sharing or automatically sharing a selective feed item 332 via a        first social networking Internet service 126, share that        selective feed item 332 via a URL and/or within a container that        will play the associated video in native video player or the        apparent native video context of the first social networking        Internet service 126, while at the same time when sharing or        automatically sharing that same selective feed item 332 or        another feed item via a second social networking Internet        service 126, share that selective feed item 332 via a URL and/or        within a container that will play the associated video in the        native video player or the apparent native video context of the        second social networking Internet service 126;    -   store a selective feed item 332 to one or more devices 112, so        that some or all of the content associated with that selective        feed item 332, including or excluding the video content, can be        viewed on that device 112 when not connected to the aggregation        system 108;    -   automatically store selective feed items 332 to one or more        devices 112, including any variation or specific method of        storing selective feed items 332, based on criteria she        specifies, such as any of, all of, or any combination of,        selective feed items 332 she has liked, saved, shared, or rated,        selective feed items 332 from one or more selective feeds 220,        selective feed items 332 associated with one or more users or        sources, selective feed items 332 associated with one or more        topics or categories of topics, length of feed item, content of        feed item, category of feed item, rating of feed item, or other        feed item attributes;    -   comment on a feed item;    -   send a message in conjunction with sharing a feed item;    -   provide feedback to the publisher of a feed item;    -   place an order related to a feed item;    -   accept an offer provided in conjunction with a feed item;    -   delete a feed item from her selective feed; and/or    -   reverse or revoke any previous action.

In an optional aspect of the primary embodiment, the sequence of feeditems 332 upcoming in the user's selective feed 220 shown in the feedpane 712 is dynamically influenced, changed, or rearranged based on theuser's actions as the aggregation system 108 progresses through theselective feed 220 as originally sequenced for the user 116 in thevertical carousel. For example, as previously described, in the primaryembodiment the sequence of the feed items 332 in the selective feed 220is reverse chronological timeline sequence (which in this optionalaspect may be considered the original sequence of feed items 332); asthe aggregation system 108 proceeds through the playback process and theuser 116 watches, skips, likes, saves, or shares items in the selectivefeed 220, in this optional aspect of the primary embodiment theaggregation system 108 dynamically adjusts the sequence of upcoming feeditems 332 in the user's selective feed 220 to reflect these actions sothat the user 116 sees more items that share various characteristicswith the feed items 332 she has liked or shared or saved for laterviewing, or fewer items that share various characteristics with the feeditems 332 she has skipped or deleted, or otherwise re-sequences theupcoming feed items 332 in the selective feed 220 based on her actions.This process can be iteratively repeated based on the user's actions asthe aggregation system 108 progresses through the adjusted selectivefeed 220, further adjusting the sequence of feed items 332 thenupcoming; similarly, based on the user's actions this process can becancelled or reversed and the user's upcoming selective feed items 332reverted to the original sequence.

Referring next to FIGS. 8A, 8B and 8C, the user interface 312 in anotherembodiment comprises multiple columns, rows, or arrays of selective feeditems 332, Internet feed items 308, keyword feed items, aggregate feeditems 328, and/or other feed items, along with an array or multiplearrays of icons 830 in the navigation pane 720, typically displayedabove the multiple columns, rows, or arrays of selective, Internetservice, keyword, aggregate, and/or other feed items (hereinafter “FeedItems”), alternatively displayed to the left of the multiple columns,rows, or arrays of Feed Items, or alternatively displayed in anotherlocation. Each icon 830 identifies one or more groups of Feed Items,such as the selective feed items 332 associated with one or more useraccounts on one or more social networking services, including the user'sown account or another user or group of users, or the selective feeditems 332 or Internet service 206 feed items associated with one or moreparticular Internet services 126, for example a news site such asCNN.com™ or a group of news sites selected by the user 116, or theselective feed items 332 associated with a particular keyword, subjector topic, such as a sports team or player, or the selective feed items332 collected in an aggregate feed 204, such as recommended items. Inthe depicted embodiment, there are four feed panes 712 that each displaya column of selective feed items 332, which is sometimes referred to asa channel or a smart channel, herein.

Behind the user interface 312 is a view carousel 870 with threedifferent views 880 as shown in FIG. 8C related in a hierarchicalmanner. The first view 880-1 is not currently visible to the userthrough the user interface 312 that displays a window of the viewcarousel 870, corresponds to the highest level in the hierarchy andallows selecting from multiple selective feeds 220 or other feeds, someof which can be an aggregation of two or more selective feeds 220 orother feeds into a smart channel. The first view 880-1 is detailed inFIG. 8A. The second view 880-2 shows a particular selective feed 220 orother feed in one feed pane 712 with one video playing back in theactive item pane 708. The second view 880-2 is the part of the viewcarousel 870 currently viewable through the user interface 312. Thethird view 880-3 shows a full-screen version of the video playing back.In this embodiment, touch-screen gestures move the view carousel 870,for example a two finger touch will rotate the carousel. A single fingertouch will move within the current view 880 and not rotate the viewcarousel 870.

In this embodiment, an icon 830 in the content navigation pane 720corresponds to one or more columns, rows or arrays of Feed Items and theicons are arranged in the same sequence as the columns, rows, or arraysof Feed Items, optionally with more or less icons 830 displayed at anytime than columns, rows, or arrays of Feed Items displayed. The depictedembodiment arranges the selective feed items 332 in a column of a feedpane 712 as shown in FIG. 8B. The sequence of icons 830 rotatable abouta channel carousel 805 can be moved, scrolled, advanced, retrieved, orotherwise manipulated by gesture, mouse action, cursor control, keyboardcontrol, voice command, or other user interface control. Where all theicons 830 can fit in the content navigation pane 720, the channelcarousel 805 may or may not rotate, for example in this embodiment thechannel carousel 805 only rotates when there are more icons 830 thanwill fit in the content navigation pane 720. In a tablet computerembodiment, a single touch gesture rotates the channel carousel 805. Inan optional aspect of this embodiment, an icon 830 may be linked to asub-array of icons, such that at some times when the icon 830 appears,the linked sub-array of icons also appears, e.g. in a drop down orslider tray, and as the icon 830 is moved to the edge of the view areaof the channel carousel 805 the sub-array fades away or otherwise nolonger appears.

When the sequence of icons 830 on the channel carousel 805 is moved,scrolled, advanced, retrieved, or otherwise manipulated, the columns,rows, or arrays of Feed Items that are visible moves, scrolls, advances,dissolves, fades in or out, is retrieved, or is otherwise manipulatedsynchronously. Since the width of a feed pane 712 may be different thanthat of an icon 830, the channel carousel 805 may spin faster or slowerthan the column carousel 850 such that there may be a gearing ratioother than 1-to-1 between the two carousels 805, 850. This aspect of theuser interface 312 enables a user to, for example, move the feed panecolumns 712 by moving the icon sequence (for example, by dragging anddropping), and when more icons are displayed than columns are displayed,gives the user broader visibility into more, or all, columns ofselective feed items 332, Feed Items that are available combined withdetailed visibility into the selective feed items 332 that are availablein the displayed columns of Feed Items. A scroll control 820 shows witha featured bar 810 which icons 830 have their corresponding feed panes712 displayed. The icon 830 and feed pane 712 that would be used if theview carousel 870 is rotated is accentuated with a radio dial 840, butother embodiments could highlight the feed pane 712 or icon 830 withbolding, enhanced color, animation, or any other mechanism to inform theviewer the current focus if the view carousel 870 is rotated. Theelements may move synchronously, such that moving a first element orarray of elements causes a second element or array of elements to move,while moving the second element or array of elements also causes thefirst element or array of elements to move; or the elements may moveasynchronously, such that moving a first element or array of elementscauses a second element or array of elements to move, while moving thesecond element or array of elements does not cause the first element orarray of elements to move; or a combination of synchronous movement andasynchronous movement may be implemented.

Both the icons 830 and feed panes 712 are in a synchronized order andeach rotate synchronously about carousels, although the diameter of acolumn carousel 850 is larger than the icon carousel 805. When the userrotates one carousel, the other will rotate in a synchronized manner ata predetermined ratio of movement given the differing diameters betweenthe two carousels 805, 850. This aspect of the user interface 312 alsoenables a user to rapidly move through all the columns of selective feeditems 332, Feed Items that are available, for example to quickly anddirectly navigate to a specific desired column of selective feed items332. The feature bar 810 informs the user which feed panes 712 are shownbelow and also what in the column carousel 850 is visible. In theexample of FIG. 8A, the first four icons 830-1, 830-2, 830-3, 830-4 aredenoted by the feature bar 810 to signal that the corresponding firstthrough fourth selective feeds pane columns 712-1, 712-2, 712-3, 712-4.The icon appears both in the content navigation pane 720 and thecorresponding feed panes 712 in this embodiment.

Optionally in this embodiment, an icon 830 can be deleted from the iconcarousel 805, which optionally in turn causes the corresponding feedpane 712 to be removed from view. Optionally in this embodiment, theicons 830 in the icon carousel 805 can be reorganized, reordered, orresequenced, by either or both the user 116 or the aggregation system108, which optionally in turn causes the feed panes 712 in the columncarousel 850 to be reorganized, reordered, or resequenced synchronouslywith the icon carousel 805.

Optionally in this embodiment, icons 830 in the icon carousel 805 can becombined, which optionally in turn causes the corresponding feed panes712 to be combined; or an icon 830 can be separated into multipleconstituent parts through filtering, which optionally in turn causes thecorresponding columns of selective feed items 332, Feed Items to beseparated; or both. Mixing and separation of icons causes correspondingrearranging of selective feed items 332, Feed Items. Where two or moreicons are combined, a combined icon may be subdivided into panels thatdisplay the icons that are combined. For example, the sixth icon 830-6combines two icons and the seventh icon 830-7 combines four icons asshown in FIG. 8A. FIG. 8B shows the feed pane 712 for sixth icon 830-6with selective feed items 332 from both icons.

Alternatively in various embodiments, the visual interface 312 cancomprise multiple columns, rows or other arrays of selective feed items332, Feed Items, along with an array comprising any of, all of, or anycombination of, buttons, tabs, badges, keys, labels, numbers, or othergraphical elements in addition to, or instead of, icons, any or all ofwhich could be organized in one or more rows, columns, alignments, orother arrays.

With reference to FIG. 9, another embodiment of the first view 880-1 isshown. In this embodiment, the selective feed items 332, Feed Items arearranged horizontally in a feed pane 712. The selective feed items 332,Feed Items can be a list with beginning and end arranged chronologicallyor in some other manner. In other embodiments, the selective feed items332, Feed Items can be arranged in a circular list as a carousel, or inany other arrangement. In another optional aspect of this and otherembodiments, icons 830 in the tiled icon 830-6, 830-7 may correlate tonon-feed items, functions, or aspects. The icon carousel 805 is arrangedvertically in this embodiment. The feed panes 712 are arranged in avertical feed carousel 855 that rotates in synchronization with the iconcarousel 805 and the scroll control 820.

In this optional aspect of the primary embodiment, this adjustedsequence can be presented continuously with, or as part of, or as thenext part of, the user's selective feed 220, or can be presented as aseparately labeled and separately selectable sequence of the user'sselective feed 220. Adjustments to the user's upcoming sequence can beprovided in real-time or near real-time, as the user 116 advancesthrough, or as automatic playback advances through, the user's selectivefeed 220; can be effected between sessions; can be effected after aspecified amount or type of amount of one or more types of user actionhas occurred; can be effected after two or more user actions haveoccurred in sequence, consecutively, within a specified time period,within a specified number of user actions, in a particular order or inno particular order, or otherwise have occurred; or can be effectedafter a specified level of confidence in the applicability of theadjustment(s) is reached.

In another embodiment, a first icon 830 array, set of feed items, groupof interface panes, and/or other collection of interface elements ispresented in conjunction with a second, coordinated icon 830 array, setof feed items, group of interface panes, and/or other collection ofinterface elements, and one or both of the first and/or second array,set, group, and/or collection is logically and visually stacked. Onepotential benefit of stacking some or all of the interface elements isto effectively use limited display space, for example on a smallerdevice 112 such as a smartphone, while still enabling easy access to allor most of the functions available on a device 112 that has a largerdisplay. In one embodiment of a stacked or partly stacked interface, afirst array of icons 830, representing service feeds 220, is arranged atthe top of the presentation space in a horizontal array, coupled with astacked feed view beneath the icon array, wherein a feed view is avertically arranged set of images and text, each of which correlates toa feed item, and further wherein the feed view changes as the icon 830array is moved left and right or as a particular icon is selected, andfurther wherein if an individual feed item is selected then the playbackpane is stacked on top of the feed view and a video begins to play; ifthe video is terminated, the playback pane then slides down to revealthe feed view beneath it; and if the user 116 further slides the feedview down, via an appropriate gesture or by dragging a toggle, then theprior feed view is revealed beneath the current feed view, oralternatively a directory of feeds for selection. In this embodiment,the first icon array is scrollable left and right, and that, when thereare more icons 830 than will fit in the dimensions of the visible space,individual icons 830 can scroll off the visual field, thus creating ausable space for the first icon 830 array that is larger than thephysical space available according to the dimensions of the display; andsimilarly, as feed views and playback panes are stacked one atop theother or atop a feed directory in this stacked fashion, each such feedview, playback pane, feed directory pane, or other interface element canutilize all of the space available beneath the first icon 830 array; andyet via the stacking of views and panes in coordination with the firsticon 830 array, a large amount of usable information is maintained in astate readily accessible by the user 116, including as the user 116manipulates the first icon 830 array.

In an optional aspect of the primary and other embodiments, an icon 830may be logically subdivided into areas, each of which may control,activate, or indicate a subset of the Feed Items correlated to the icon830. Areas can be reserved or prioritized for association with aparticular Internet service 206, can be rearranged once associated witha set of Internet services 206, and can be labeled, unlabeled, orconditionally labeled, for example the labels appear if the user zoomsthe view magnification or appear if the user taps the icon with threefingers. User actions can be associated with different combinations ofareas of the icon 830, for example tapping an area of the icon 830filters the Feed Items to just those associated with the correlated FeedItems. As an example, icons 830 on a smartphone might be large and mighttherefore contain several areas; a particular icon 830 might be the“social” icon which is correlated to the selective feeds 220 and servicefeeds 206 of Internet social networking services 126 connected by theuser; the upper right corner or region of the tiled icon 830-7 might bereserved for Facebook™ 126, the lower right corner for Twitter™ 126, andthe other corners available for other social networking services 126; ifthe user taps the word “social” in the user interface 312, the selectivefeed 220 of selective feed items 332 from all connected socialnetworking services 126 appears along with a corresponding tiled icon830-6, 830-7 that would be an aggregation of the selective feeds 220,where as if the user taps a corner or region of the tiled icon 830-6,830-7, the selective feed items 332 of the associated social networkingservice 126 appear. The tiled icon 830-6, 830-7 may optionally beconfigured programmatically by accessing a programming interfaceavailable on the device 112, provided by a device-related service,provided by the aggregation system 108 or a control system related tothe aggregation system 108, or provided by another service, to connectto social networking services 126 already connected by the user 116 tothe device 112, device-related service, the aggregation system 108 or acontrol system related to the aggregation system 108, or anotherservice.

In an optional aspect of the primary and other embodiments, the contentsand characteristics of an icon 830, a tiled icon 830-6, 830-7, and/orone or more correlated or uncorrelated Feed Items, associated with auser 116 are synchronized across one or more devices 112 or interfaces312 used by or associated with the user 116. In this optional aspect ofthe primary embodiment, when the user 116, using one device 112 orinterface 312, or the aggregation system 108 changes, adds, or deletesfeed to or from a tiled icon 830-6, 830-7, or changes, adds, or deletesa tiled icons 830-6, 830-7, that change, addition, or deletion isreflected, subject to any further, over-riding rules or policies, on theother devices 112 or interfaces 312 used by the user 116, subject to anyparticular presentation (which may be different in some or all respects)of icons 830, tiled icons 830-6, 830-7 which may apply on that device112; similarly, when the user 116, using one device 112 or interface312, or the aggregation system 108 reorganizes a tiled icon 830-6,830-7, for example changing the sequence, grouping, or othercharacteristics of the feeds in the tiled icon 830-6, 830-7, thatreorganization is reflected, subject to any further, over-riding rulesor policies, on the other devices 112 or interfaces 312 used by the user116, subject to any particular presentation (which may be different insome or all respects) of icons 830 and tiled icons 830-6, 830-7 whichmay apply on each other device 112. Synchronization of the icons 830 andtiled icons 830-6, 830-7 may be complete or partial, may apply to all ora subset of the icons 830 and/or tiled icons 830-6, 830-7, and may applyto all or a subset of the devices 112 or interfaces 312 used by orassociated with the user 116; for example, a given icon 830 or tiledicon 830-6, 830-7 may be designated as specific to a device 112 orinterface 312 and therefore is not synchronized to any other device 112or interface 312; another icon 830 or tiled icon 830-6, 830-7 may bedesignated as specific to device categories (e.g. smartphones;televisions) and therefore is synchronized from one device 112 orinterface 312 within the category to all other devices 112 or interfaces312 within that category but not to devices 112 or interfaces 312 thatare not within that category; and still other icons 830 and/or tiledicons 830-6, 830-7 may synchronize across all devices. Synchronizationof icons 830 and/or tiled icons 830-6, 830-7 can be maintained acrossheterogeneous view carousels 870, so that regardless of the particularview carousel in use on a given device 112 or interface 312 or in agiven mode of operation, the icons 830 and/or tiled icons 830-6, 830-7update appropriately in the context of each view carousel 870. As theicons 830 and/or tiled icons 830-6, 830-7 are updated, the Feed Itemsassociated with the icons 830 and/or tiled icons 830-6, 830-7 willtypically be similarly updated, subject to any further, over-ridingrules or policies, on the other devices 112 or interfaces 312 used bythe user 116, and subject to any particular presentation (which may bedifferent in some or all respects) of feed items which may apply on thatdevice. Additionally, irrespective of any change to the icons 830 ortiled icons 830-6, 830-7, in this optional aspect of the primaryembodiment, when the user 116, using one device 112 or interface 312, orthe system changes the Feed Items, for example adds or deletes or marksa Feed Item or changes the sequence or other characteristic(s) of one ormore Feed Items, that change is reflected, subject to any further,over-riding rules or policies, on the other devices 112 or interfaces312 used by the user 116, subject to any particular presentation whichmay apply on each other device. Such synchronized changes may beeffected immediately, at a point in time, after a specified or remainingperiod of time, or without regard to time. Additional rules and/orpolicies may optionally be provided that over-ride, generally orselectively, the automatic synchronization of the icons 830 and/or tiledicons 830-6, 830-7, for example, a user 116 or the system may specifyparticular icons that appear in any of, all of, or any combination of:on one or more particular devices 112 or interfaces 312 but not onothers, at all times or at certain times, in one viewing mode but notanother, or determined by other criteria. Synchronization may apply tosome, but not all, aspects, properties, attributes, or features of thecontents and characteristics of icons 830, tiled icons 830-6, 830-7,and/or one or more correlated or uncorrelated Feed Items.

In an optional aspect of this embodiment, icons 830 and/or tiled icons830-6, 830-7 may appear on a device 112 or in the interface 312temporarily, for example because a user 116 indicated, while using anInternet service 126, an interest in adding that service feed 206 to hertiled icon 830-6, 830-7, or because an Internet service 126 linked tothe tiled icon 830-6, 830-7, or as a means of suggesting or recommendinga selective feed 220 to the user 116, or for another reason. A temporaryicon 830 or tiled icon 830-6, 830-7 may expire based on a period oftime, usage time, non-usage time, or other time-based criteria, or basedon a count or sequence of actions, action opportunities, based on acount or sequence of actions, inactions, or events, or based on othercriteria, or may never expire. A temporary icon 830 or tiled icon 830-6,830-7 may appear identical to, or may appear different from, itsnon-temporary counterpart, for example a temporary icon 830 mayoptionally appear in a different color or size, or in a different placeor sequence, or with a different visual intensity, or with differenticonography, or with an indicator, such as a mark or graphical element,that conveys that it is temporary. A temporary icon 830 or tiled icon830-6, 830-7 may optionally also contain actionable indicators, forexample to reject or delete it, or to accept or make it permanent, or toaccept for this device 112 or interface 312 or only. The Feed Itemsassociated with a temporary icon 830 and/or tiled icon 830-6, 830-7 maybe identified in the same manner as those associated with itsnon-temporary counterpart, or may be identified in a different manner,for example by providing a particular set, or a subset of Feed Items,may appear conditionally, for example based on a user action, gesture,or other condition, or may not appear at all, such that only thetemporary icon 830 or tiled icon 830-6, 830-7 appears.

In another optional aspect of this embodiment, one or more icons 830,tiled icons 830-6, 830-7, selective feeds, Internet service feeds,keyword feeds (i.e., a feed with screened to include or exclude feeditems based upon a topic, keyword, metadata tag, etc.), aggregate feeds,and/or other feeds (hereinafter “Feeds”) and/or Feed Items associatedwith a user 116 may conditionally or non-conditionally be displayed onthe user's device 112 and/or within an external interface elementavailable on the user's device 112, such as the operating system, webbrowser, another application, or home screen, other screen, sub-screen,or area on a screen, or other device facility. In this optional aspectof this embodiment, instead of first installing and/or initiating theapp, applet or application, which then presents the icons 830, tiledicons 830-6, 830-7, Feeds and/or Feed Items associated with the user116, one of, a subset of, a composite of, or all of the icons 830, tiledicons 830-6, 830-7, Feeds and/or Feed Items associated with the user 116are themselves visible on, and accessible via, the operating system, webbrowser, another application, or home screen, other screen, sub-screen,or area on a screen, or other device facility. Icons 830, tiled icons830-6, 830-7, Feeds and/or Feed Items may be always be displayed, or maybe displayed conditionally, such as when the user first powers on thedevice or selects the screen or other device facility in which the icons830, tiled icons 830-6, 830-7, Feeds, and/or Feed Items are embedded, orupon the condition that the user 116 has configured the device 112 todisplay the icons 830, tiled icons 830-6, 830-7, Feeds, and/or FeedItems in this fashion, or upon the condition that there are new, unseenitems in one or more of the icons 830, tiled icons 830-6, 830-7, and/orFeeds. As an example, in this optional aspect of this embodiment, twodifferent users 116 having different tiled icons 830-6, 830-7 butotherwise having identically configured devices would each see adifferent home screen or other screen, whereas in another embodimentwhere only the app, applet or application presence is displayed on thehome screen, two different users 116 having two different tiled icons830-6, 830-7 but otherwise having identically configured devices 112would initially see the same app presence on their respective homescreens or other screens, and would only see a difference in theirdevices, i.e., their different tiled icons 830-6, 830-7, once they hadinitiated the app, applet or application. In this optional aspect ofthis embodiment, the embedded icons 830, tiled icons 830-6, 830-7, Feedsand/or Feed Items may also be synchronized with icons 830, tiled icons830-6, 830-7, Feeds and/or Feed Items associated with the user 116across any number of other devices as previously discussed, and mayinclude, or not include, temporary icons 830 and/or tiled icons 830-6,830-7 associated with the user 116 across other devices 112, also aspreviously discussed.

In this optional aspect of this embodiment, the integration of theuser-dependent graphical elements and user controls associated with theicons 830 and/or tiled icons 830-6, 830-7 can be achieved using any of,all of, or any combination of: a device level programming interface; anoperating system programming interface; an application level programminginterface; a system level programming interface at the systemcontrolling the device interfaces, the system controlling the icons 830and/or tiled icons 830-6, 830-7, or both; or a system-to-systemprogramming interface where the system controlling the devicecommunicates programmatically with the system controlling the icons 830and/or tiled icons 830-6, 830-7, directly or through one or moreintermediate systems. In a further optional aspect of this and otherembodiments, correlated or uncorrelated Feed Items may conditionally ornon-conditionally be displayed along with, independently of, and/orwithout the icons 830 and/or tiled icons 830-6, 830-7 being displayed.

In an optional aspect of this and other embodiments, touching, dragging,clicking, activating, or otherwise engaging with one or more of, or thegroup of, or a particular one of or subset of, the displayed icons 830,tiled icons 830-6, 830-7, and/or Feed Items, further causes the user'sdevice and/or an interface element available on the user's device, suchas the operating system, web browser, another application, or otherdevice facility, to display one or more additional icons 830, tiledicons 830-6, 830-7, Feed Items, or feed item content, with or withoutactivating the user interface 312 in its entirety. In this manner, thedisplayed icons 830, tiled icons 830-6, 830-7, and/or Feed Items can beused to invoke the user interface 312 or to further view content andselections without invoking the full interface. This limited interfacecould be a user configurable interface widget that could be placed onany of the four edges of the screen. As one example of the interface1000 shown in FIGS. 10A-10C, displayed icons 830 or tiled icons 830-6,830-7 could appear as a single row of icons running along one edge of asmartphone or tablet home screen 1000-1, such that each user of theinterface 1000-1 would have a personalized array of icons immediatelyavailable by pulling a tab 904 without first invoking the full interfaceas shown with the tab not pulled in FIG. 10A; dragging the tab 904 fromright-to-left, the displayed icons 830 and tiled icons 830-6, 830-7 areshown in a rotating or scrolling column for the interface 1000-2 (for acarousel 805 that contains more icons than can be displayed in the areaalong one edge of the smartphone home screen) as shown in FIG. 10B;further dragging the icons 830 or tab 904 in a direction perpendicularto the length of the column in the interface 1000-3 could reveal thefeed item carrousel 850 showing feed items associated with icons 830 asshown in FIG. 10C; touching a Feed Item in one of the feed panes 712could invoke playback of the video; all accomplished from the smartphonehome screen without first invoking the full interface.

Referring next to FIG. 11A, another embodiment of the smartphone ortablet interface 1000 is shown with the channel carousel 805 arrangedhorizontally to rotate right-to-left or vice versa. This limitedinterface could be configured by the user as an interface widget tooccupy any horizontal region of the screen giving the option to behigher or lower on the screen. Selecting any icon 830 would display thecorresponding feed panes 712 for some or all of the visible icons (notshown) as a horizontal carousel either above or below the channelcarousel 805. Selection of a Feed Item in a feed pane 712 would activatea video window 702 (not shown) either above or below the channelcarousel 805. In some embodiments, the activation of the video window702 would fill the entire screen or at least obscure the channelcarousel 805 in whole or in part.

In an optional aspect of the primary and other embodiments, some or allcontent objects, including (but not limited to) channels, feeds, items,icons, icon arrays, and other content objects, automatically or uponuser action or selection (e.g., touching a button or other interfaceelement, gesturing, pointing with a pointing device, speaking a command,etc.), can initiate the display of, be transitioned into, or cause theoverlay by, a customizable user interface area that can be controlled bythe operator of the aggregation system 108, by a system associated withthe aggregation system 108, by an Internet service 126 associated withthe content object from which the customizable user interface area wasinvoked, by an Internet service 126 separate from the Internet service126 associated with the content object from which the customizable userinterface area was invoked and/or separate from the aggregation system108, by the operator of the network to which the device 112 is connectedor by a service associated with the network to which the device 112 isconnected, by the manufacturer of, distributor of, or other partyassociated with the device 112, by another user 116, or by anotherparty. The customizable user interface area can occupy the entiredisplay area or just one or more portions of it, and can be opaque,translucent, or transparent. Content, including text, graphics, video,audio, and other content, and commands, including executable code, stylesheets or similar formatting instructions, and other control commands,can be downloaded to the customizable user interface area when it isinvoked, in advance and stored on the device 112, in response to user116 actions and interactions, as invoked by other commands, or asneeded. Commands can be executed by the device 112, by the userinterface 312 operating on the device 112, or by a subsystem operatingon the device 112, such that the party controlling the customizable userinterface area can determine the user experience within the customizableuser interface area. In this fashion, the customizable user interfacearea can be used, by the operator of the aggregation system 108 or otherparties, to supplement the content of a feed item, feed, icon array, orother content object(s). The customizable user interface area can beclosed, minimized, dismissed, or sent to the background, or the sessionotherwise ended or terminated, automatically at the conclusion of asession or content experience, upon user action or selection, uponanother event, under the control of downloaded commands, remotely at thedetermination of the party controlling the customizable user interfacearea, or under the control of the aggregation system 108 or a systemassociated with the aggregation system 108.

Aspects of the customizable user interface area, the commands thatcontrol it, the content and other interfaces to it, and the videodisplay controls such as the video playback control that effect videoplayback within it, can be normalized across a range of devices 112 thatmay have substantially different technical requirements, programminglanguage and development environments, capabilities for downloadingexecutable code, security and privacy policies, and the like, thusproviding a single, normalized interface across heterogeneous devicesfor extending the content experience on the device 112, including underthe control of various parties as disclosed.

As an example of an implementation of this optional aspect of theprimary and other embodiments, an Internet service 126 could providevideo feed items about sports; some feed items could include a buttonlabeled “expanded view”; when the user touches the expanded-view button,a customizable user interface are could take over most of the visualdisplay, with a video playback window occupying the upper leftthree-quarters of the customizable user interface area, and the displayspace within the customizable user interface area to the right of thevideo playback window could display a vertically scrolling set ofreal-time scores and statistics called from a server operated by thesports Internet service 126; or, the area to the right of the displayspace within the customizable user interface area to the right of thevideo playback window could display a set of titled thumbnails ofrelated videos called from the sports Internet service 126; or, or, thearea to the right of the display space within the customizable userinterface area to the right of the video playback window could display aset of titled thumbnails of related videos called from the operator ofthe aggregation system 108.

In an optional aspect of the primary and other embodiments, the user 116can optionally select among multiple genre modes. Each genre modecomprises a combination of icons 830 and/or tiled icons 830-6, 830-7 andoptionally further comprises a combination of correlated or uncorrelatedFeed Items. When a genre mode is selected by the user 116, only thoseicons 830 and/or tiled icons 830-6, 830-7, and optionally correlated oruncorrelated Feed Items that are associated with the selected genre aredisplayed by that interface 312 while in the mode. Icons 830 and/ortiled icons 830-6, 830-7, and optionally correlated or uncorrelated FeedItems can be associated with only one, more than one, or a specifiednumber of genres, and/or can have a degree of genre association whichcan be used to determine which of a user's particular set of icons 830and/or tiled icons 830-6, 830-7, and optionally correlated oruncorrelated Feed Items should be associated with that genre for genremode purposes or other purposes. Optionally, a genre may contain, or maycontain only, icons 830 and/or tiled icons 830-6, 830-7, Service feeds,Service feed items, and optionally correlated or uncorrelated Feed Itemsthat are not contained in the user's selections, e.g. a genre comprisingonly recommendations for inclusion in the user's selections, or a genrecontaining some current selections and some recommendations forinclusion in the user's selections, in either case optionally furtherlimited to a subset of all possibilities; in this mode, the user canoptionally choose if only their previously-selected Feed Items are usedfor the genre filter or if their Feed Items can be supplemented orreplaced by feed items that were not previously selected. Optionally,the user 116 can control which genres are available to her. Genres maycomprise any attribute or basis for sorting, filtering, or selectingamong icons 830 and/or tiled icons 830-6, 830-7, Service feeds, Servicefeed items, and optionally correlated or uncorrelated Feed Items,including, but not limited to, category, topic, time, viewing history,length, sources, keywords, content elements, ratings, popularity, actor,creator, creation time or date, and/or other attributes. Genres couldalso comprise users or groups of users of a device 122. As an example ofgenre mode, a user 116 might have configured her system to offer her achoice of music, movies, fashion, politics, and sports as genresavailable to her; in this example, when she selects the music genre,icons associated with the music genre or that contain feed itemsassociated with the music genre would be displayed; as a result, hericons for particular musicians, music blogs, and music services would bedisplayed, each with all associated feed items, plus icons for hersocial networking services would be displayed, each with all associatedfeed items that are also associated with the music genre, e.g. herTwitter™ icon would be displayed along with items from her Twitter™ feedthat are related to music. Continuing the example, when she selects thepolitics genre, a different set of icons would be displayed, these iconsassociated with the politics genre or containing feed items associatedwith the politics genre; as a result, her icons for particularpoliticians or political commentators, political parties, and politicsblogs would be displayed, each with all associated feed items, plus newsservices with feed items related to politics would be displayed, eachwith all associated feed items that are also associated with thepolitics genre, e.g. her CNN™ icon would be displayed along with itemsfrom her CNN™ feed that are related to politics, plus icons for hersocial networking services would be displayed, each with all associatedfeed items that are also associated with the politics genre, e.g. herTwitter™ icon 830 would be displayed along with items from her Twitter™feed that are related to politics. Further genre modes can be containedwithin a given genre mode, so for example the sports genre mode mightfurther contain a basketball genre mode, which might further contain acollege basketball genre mode, or the sports genre mode might containboth the basketball genre mode and the college basketball genre mode. Asanother example, genre choices available to a user could be standard,users, and recommended. In this example, when she selects standard modeshe sees her normal set of icons 830 and Feed Items; when she selectsusers mode she sees a set of icons 830 that all correlate to other userscontained within her standard array of icons 830 and service feeds 206,including optionally individual users that do not appear separately inher standard mode; and when she selects recommended mode she sees icons830 and Feed Items that do not appear in her standard mode view but thatare recommended for her for inclusion, at her option, in her personalconfiguration.

This optional aspect of the primary and other embodiments may be furtherextended to incorporate one or more genre modes associated withparticular contractual terms, expected performance or content fidelity,content availability, on-device content storage, or other featuresassociated with the device 112, user's services, network or networkservices, content services, or other aspects of the user's experience.As an example, a genre mode could be associated with content servicesthat are available only on a paid subscription basis. As anotherexample, a genre mode could be associated with feeds and feed items thatare pre-delivered to, and/or stored on, the user's device. As anotherexample, a genre mode could be associated with feeds, feed items, dataservices, and/or other content services wherein the associated datatransmissions are higher quality, fidelity, or bandwidth, and/or are notlimited to a periodic ceiling or cap, and/or are not separatelychargeable to the user on a metered basis, and/or are instead charged tothe provider, and/or are accessed using a separate network service orsub-service, such as a separate billing account; as an example, such agenre mode might only be available to a user who subscribes to it and/orpays a separate charge for it, and/or provides, or agrees to the releaseof, certain personal information; as another example, such a genre modemight be provided by the device manufacturer, bundled with the device,and might use a separate network service, sub-service, account, or othernetwork facility to distinguish the data traffic for the bundled genremode from the data traffic for other, non-bundled genre modes. Multiplesuch genre modes could be available to a given user, each such genremode associated with a particular configuration of contractual terms,expected performance or content fidelity, content availability,on-device content storage, or other features associated with the user'sdevice, network services, content services, or other aspects of theuser's experience. Within any such genre mode, any given feed, dataservice, or other content service can be filtered so that it includesonly feed items complying with the particular configuration ofcontractual terms, expected performance or content fidelity, contentavailability, on-device content storage, or other features associatedwith the user's device, network services, content services, or otheraspects of the user's experience, and noncomplying feed items arefiltered out; for example, a feed from a social networking service thatin its unfiltered state contains both complying and noncomplying feeditems can be filtered so that only complying feed items are presentedwhen that feed is selected within that genre mode, while the unfilteredfeed can be presented when the user accesses it outside of the genremode.

In an alternative implementation of this aspect of the primary and otherembodiments, a feed, feed item, digital service, or other contentservice associated with particular contractual terms, expectedperformance or content fidelity, content availability, on-device contentstorage, or other features associated with the user's device, networkservices, content services, or other aspects of the user's experience isindicated via a visual element associated with the icon 830 representingsuch feed, feed item, digital service, or other content service, orassociated with the feed item itself. For example, an icon 830 could behighlighted, could be presented in outline, shadow, silhouette, orreverse silhouette, or could contain a small graphical element, such asan exclamation point inside a circle of a particular color, that issuper-imposed over, or depicted near, the icon 830, for example over oneparticular corner. Multiple such visual elements could be available fora given icon 830 or feed item, each such visual element associated witha particular configuration of contractual terms, expected performance orcontent fidelity, content availability, on-device content storage, orother features associated with the user's device, network services,content services, or other aspects of the user's experience. Also notethat such association can be accomplished via the absence of such avisual element, or that such visual elements can indicatenon-conformance with, or variance from, an otherwise applicableconfiguration of contractual terms, expected performance or contentfidelity, content availability, on-device content storage, or otherfeatures associated with the user's device, network services, contentservices, or other aspects of the user's experience. This alternativeimplementation could be implemented without, along with, or in direct orindirect combination with, the genre mode implementations describedpreviously. It should further be noted that a given feed, feed item,digital service, or other content service may only be available whenassociated with, may not be available when associated with, or may beboth available when associated with and separately available when notassociated with particular contractual terms, expected performance orcontent fidelity, content availability, on-device content storage, orother features associated with the user's device, network services,content services, or other aspects of the user's experience, and furtherthat such associations may be consistent for all users, devices,locations, networks, and other connectivity and presentation conditions,but may also vary from one user 116, device 112, location 120, network,or other connectivity or presentation condition to another.

Referring next to FIG. 11B, a block diagram shows an embodiment of avideo-content subscription system 1100 interfaced with a device 112 andone or more Internet services 126. The video-content subscription system1100 allows a user 116 to contract with a wireless, mobile, fixedwireless, broadband, or other network service provider to receive videocontent available on the Internet (“contracted video content”) that doesnot count against a data plan of the user 116. Some examples of mobilewireless service providers include AT&T™, T-Mobile™, and Verizon™; someexamples of other data service providers include Clearwire™, Comcast™and CenturyLink™. The video-content subscription system 1100 has one ormore wireless and/or data service 1104 components, one or moregenre-mode proxy engines 1108, one or more billing systems 1112, andvarious stores of data that may be in a database, file system, and/or amemory data structure, including subscription records 1116, data-usagerecords 1120, and one or more video-content stores 1124. The data in thevarious stores can be combined into a single store or divided between anumber of stores at a number of locations.

A user 116 subscribes to a genre-mode or other video content service orplan by contracting with one or more wireless or data service 1104providers, an agent or partner of one or more wireless or data service1104 providers, or another contracting party, and a record is recordedin the subscription records 1116. When the user 116 selects a feed itemin a selective feed 220 that includes contracted video content, thedevice 112 connects to the genre-mode proxy engine 1108 through thewireless or data service 1104, or optionally through any other dataservice that the device 112 is connected to and that is affiliated with,or authorized or otherwise entitled by, the wireless or data service1104, via a separately resolvable link to the feed item that theaggregation engine 304 or other link modification/generation system hasgenerated or modified to cause the request to be directed, eitherdirectly or indirectly, to the genre-mode proxy engine 1108. The device112 may optionally also provides credentials, such as a user name,device identifier, access code, or other authorizing data to thegenre-mode proxy engine 1108; the genre-mode proxy engine 1108 mayprocess the link without attempting to authorize the request, or it mayattempt to authorize the request by comparing the credentials from thedevice 112 to the subscription records 1116, may evaluate networkinformation such as an IP address or other network data information,device 112 information such as a device ID, MAC address, or other device112 information, application identifying information such as the useragent or an application identifier, or other data provided with therequest to verify that the device 112 is authorized to receive thecontracted video content. Alternatively, the link may be encoded by theaggregation engine 304 or other link modification/generation system sothat it is encrypted or includes a token, an expiration time orcondition, or other authorizing modification or aspect.

The wireless or data service 1104 optionally interacts with one or morebilling systems 1112. In this optional aspect of the embodiment, thewireless or data service 1104 tracks data usage of the device 112 thatis on a wireless or data service 1104 data plan as the wireless or dataservice 1104 downloads and uploads data to and from the device 112. Thebilling system(s) 1112 receives data usage information from the wirelessor data service 1104. For example, a user 116 with a smartphone cancontract with Verizon™ to pay a monthly fee in exchange for Verizon™providing the user 116 with the ability to send and receive twogigabytes of data per month using the smartphone. Verizon™ tracks howmuch data the user 116 uses in a month and bills the user 116accordingly. The same user 116, or another user 116, may also contractwith Clearwire™ for home Internet access, and such plans may include acap on the amount of data downloaded per month, a rate limit on thespeed of data transfer, or other service parameter. If the user 116contracts only with Verizon™ or with Clearwire™ for an extended plan,only the billing system 1112 for that provider needs to be updated withinformation about the user's 116 referenced video data downloads;alternatively, if the user 116 contracts with both Verizon™ andClearwire™ for an extended plan, or if Verizon™ and Clearwire™ honoreach other's extended data plans, then the user's 116 experience willreflect availability of extended plan content and both Verizon™ andClearwire™'s billing systems 1112 will need to be updated withinformation about the user's 116 referenced video data downloads.Optionally, in this optional aspect of the embodiment the billingsystem(s) 1112 may be supplemented with information about which contentitems, downloads, and/or uploads are processed by the genre-mode proxyengine 1108 under the extended plan contracted for by the subscriber.

The genre-mode proxy engine 1108 has links to the sources of contractedvideo content available on the internet, having received these linksfrom either the aggregation engine 304, the aggregation system 108, oranother content provisioning system, which may work with the aggregationengine 304 or separately from it, or with the aggregation system 108 orseparately from it, or with both the aggregation engine 304 and theaggregation system 108. Using the source links to the contracted videocontent, the genre-mode proxy engine 1108 requests the contracted videocontent from an Internet service 126 and transmits the contracted videocontent to the device 112 through the wireless or data service 1104. Thesource links may alternatively reference a technical optimization systemor service, such as one that provides properly encoded and/or segmentedvideo data files for a particular device 112; as will be seen, suchtechnical optimization services can optionally be provided by anoperator of the aggregation system 108, by systems associated with theoperator of the aggregation system 108, by devices 112 or softwareoperating on devices 112, or by other services. The genre-mode proxyengine 1108 records an amount of data the genre-mode proxy engine 1108transmitted to the device 112, and stores the amount of data thegenre-mode proxy engine 1108 transmitted to the device 112 in thedata-usage records 1120. The genre-mode proxy engine 1108 may be locatedin the wireless or data service 1104 operator's infrastructure,connected directly to the wireless or data service 1104 operator'sinfrastructure, or connected indirectly, such as via the Internet, tothe wireless or data service 1104 operator's infrastructure; thegenre-mode proxy engine 1108 may be operated by the wireless or dataservice 1104 operator, an affiliated wireless or data service 1104operator, by the operator of the aggregation system 108, or by anotherorganization; also note that this embodiment is not limited to onewireless or data service 1104 operator, but rather can incorporate twoor more.

At a predetermined time, or upon request, the genre-mode proxy engine1108 provides to the billing system 1112 the amount of data thegenre-mode proxy engine 1108 transmitted to the device 112. The billingsystem 1112 can then deduct the amount of data the genre-mode proxyengine 1108 transmitted to the device 112 from a total amount of datathe device 112 used as recorded by the wireless/data service 1104, orotherwise adjust or credit the data consumption associated with thedevice 112. Alternatively, a record of the amount of data downloaded tothe device 112 that is associated with content subject to such anextended or optional plan can be collected and summarized by the device112 or by an application operating on the device 112, eitherindependently, interfaced to, or operating in conjunction with thebilling system 1112; or by network elements operating within, orcollecting or processing data from, the network infrastructure of thenetwork services provider, for example policy management, serviceprovisioning, flow control, and other network data management,provisioning, and operating systems, for example by identifying datadownloads originating at the proxy engine 1108 or at any of the originalInternet services 126 referenced, directly or indirectly, by linksprovided by the aggregation system 108.

When the genre-mode proxy engine 1108 receives a request for contractedvideo content, the genre-mode proxy engine 1108 can optionally query thevideo-content store 1124 to check whether the contracted video contentrequested is in the video-content store 1124. In this embodiment, thevideo-content store 1124 contains contracted video content from a thirdparty and is optionally paid by the third party to store and deliver thecontracted video content from the third party, or alternatively thethird party is paid by the operator of the video-content store orsubscription system 1100 for use of the contracted video content, orboth.

Referring next to FIG. 11C, an embodiment of a process 1136 forproviding the contracted video content through a wireless or dataservice is shown. The depicted portion of the process begins in block1140 when the video-content subscription system 1100 receives asubscription request from a user 116 for the device 112 of the user 116to be registered to access the contracted video content, the contractedvideo content being available on the Internet. After a device 112 isregistered to access the contracted video content, the aggregationsystem 108 reconfigures separately resolvable links of feed items topoint to the genre-mode proxy engine 1108, or alternatively providesproperly configured links; for example, reconfiguration of links canoccur when an Internet service 126 contracts to be a source of content,for all devices 112, for specially contracted devices 112, or both, orby the aggregation system 108 at a time that the referenced content isidentified as actual or potential contracted video content. When a user116 selects to watch the contracted video content, by selecting the feeditem, the device 112 sends a request for the contracted video content tothe genre-mode proxy engine 1108 instead of directly to the Internetservice 126. In block 1142, the genre-mode proxy engine 1108 receivesthe request for the contracted video content.

In block 1144, the genre-mode proxy engine 1108 receives links to thecontracted video content, which it delivers to the device 112, ifnecessary retrieving the contracted video content from the Internetservice 126, one or more technical optimization services, and/or fromthe video-content store 1124. The genre-mode proxy engine 1108 canreceive distributed full or partial links to the contracted videocontent and correlations to sources for those links from the aggregationengine 108 and/or from the device 112, or can calculate a source linkusing a predetermined algorithm or convention, or an algorithm orconvention it receives from the aggregation engine 108, the device 112,the Internet service 126, another Internet service 126, one or moretechnical optimization services, and/or from the video-content store1124.

In block 1146, the genre-mode proxy engine 1108 identifies a wireless ordata service account associated with the device 112. Optionally, inaddition in block 1146 the genre-mode proxy engine 1108 verifies thewireless or data service account is authorized to link to the contractedvideo content through the genre-mode proxy engine 1108.

In block 1150, the genre-mode proxy engine 1108 can optionally checkwhether the video-content store 1124 has the contracted video content byquerying the video-content store 1124. If the video-content store 1124does not contain the contracted video content, the genre-mode proxyengine 1108 can determine to store the contracted video content, block1152. For example, the genre-mode proxy engine 1108 can manage thevideo-content store 1124 as a cache using a least-recently-usedalgorithm or other caching technique, including with policies specifiedper item, item type, associated Internet service 126, or other criteria,to store some or all video items as they are retrieved and delivered andto decide what to delete or over-write when the available storage hasbeen used; as another example, after the genre-mode proxy engine 1108has received one hundred requests for a syndicated news video clip, thegenre-mode proxy engine 1108 could determine to store the syndicatednews video clip in the video-content store 1124.

If the contracted video content is not in the video-content store 1124,then the genre-mode proxy engine 1108 downloads the contracted videocontent from an Internet service 126, from a technical optimizationservice, or from another source as configured or determined. Whether thegenre-mode proxy engine 1108 retrieves the contracted video content fromthe video-content store 1124, the Internet service 126, a technicaloptimization service, or from another source as configured ordetermined, the genre-mode proxy engine 1108 transmits the contractedvideo content to the device 112 through the wireless or data service1104.

In block 1156, the genre-mode proxy engine 1108 records an amount ofdata transmitted from the genre-mode proxy engine 1108 to the device112, as well as related data, such as the IP address and associatednetwork information associated with the request from the device 112, thetime of day, location 120 information if available, and otherinformation. And in block 1158, the genre-mode proxy engine 1108 reportsto the billing system 1112 the amount of data transmitted from thegenre-mode proxy engine 1108, along with related and other data neededby the billing system 1112.

An example of how the process 1136 for providing contracted videocontent through a wireless or data service could work includes a user116 that has a wireless or data service data plan that allows the user116 to use two gigabytes of data a month on a smartphone or other devicefor $150 per month, creating a wireless or other data service account.The user 116 also subscribes to a genre mode that includes a variety ofnews sources for an additional $10 per month, such that when the user116 watches a video from one of the Internet services 126 that isincluded in the news genre mode that the user 116 has contracted for,the data used in viewing that video does not count against the twogigabytes of data the user 116 has in the wireless or data service dataplan.

Continuing with this example, the aggregation engine 304 generatesseparately resolvable links of feed items that are included within thenews genre mode so that the links refer to the genre-mode proxy engine1108 instead of directly to the related Internet service 126. If theuser 116 wanted to watch a news story about Libya on MSNBC.com™, theuser would select a feed item relating to the news story about Libya,and the device 112 would access the link provided to it by theaggregation engine 304 and would request the video from the genre-modeproxy engine 1108. The genre-mode proxy engine 1108 would then requestthe video content item from a technical optimization service associatedwith the aggregation system 108, which in turn would obtain the videoitem from MSNBC.com, properly transcode and segment the video item, andreturn a properly formatted video item to the genre-mode proxy engine1108. In this example, access to the genre-mode proxy engine 1108 wouldbe controlled by access to the link that refers to the genre-mode proxyengine 1108, and no other authentication would be required. As thegenre-mode proxy engine 1108 transmits the news story about Libya to thedevice 112, the genre-mode proxy engine 1108 records how much data thegenre-mode proxy engine 1108 sends to the device 112. The genre-modeproxy engine 1108 then reports to the billing system 1112 of thewireless or data service 1104 provider the amount of data the genre-modeproxy engine 1108 transmitted to the device 112 so that the billingsystem 1112 does not charge for the amount of data the genre-mode proxyengine 1108 transmitted. This example demonstrates some of thecomplexities of operating the aggregation system 108 in conjunction withsome wireless or data service providers deploying genre-mode proxyengines 1108. For example, if a first user 116 shares a video item on anInternet service 126 of which a second user 116 is also a user, but onlyone of the two users 116 is a subscriber to a genre-mode plan thatencompasses that item, then the link to the video item received by theuser interface 312 used by the first user 116 will be different from thelink received by the user interface 312 used by the second user 116, asone link will refer to the video item at its source Internet service126, while the other link will refer to the video item via thegenre-mode proxy engine 1108. As more wireless or data service providersdeploy genre-mode proxy engines 1108, the number of disparate links thatall refer to the same video item increases; the aggregation system 108,or a system associated with the aggregations system 108, keeps track ofthe video links that reference a video item and is responsible forsending the correct such video link to each user 116; the aggregationsystem 108 is also responsible for providing a correct version of thelink when a user 116 shares the video item to an Internet service 126,plays the video item on a different device that is not included withinthe genre-mode subscription plan of the user 116 (for example, on adevice 112 the user 116 also owns that is serviced by a differentwireless or data service provider), and in other cases.

Referring next to FIG. 11D, an embodiment of a process 1162 forproviding contracted video content through an aggregation system 108 isshown. The depicted portion of the process 1162 for providing contractedvideo content through an aggregation system 108 begins in block 1164where the aggregation system 108, through the user interface 312,receives a subscription for providing contracted video content. In block1166 the aggregation system 108 authenticates the user 116 and in block1168 the aggregation system 108 receives a device-specific orpremises-specific identifier for the device 112 the user 116 is using.The aggregation system 108 associates the device-specific orpremises-specific identifier with a wireless or data service account inblock 1170. In block 1172, the aggregation system 108 records that theuser 116 selected a feed item that linked to contracted video content.In block 1174, the aggregation system 108, through the user interface312, records an amount of data used to provide the contracted videocontent. And in block 1176, the aggregation system 108 reports to awireless or data service provider the amount of data the device 112 usedto view the contracted video content. As previously discussed, while agenre mode can optionally be comprised of particular content associatedwith a content category or other classification, a genre mode can alsobe comprised of content that is associated with particular contractualterms, expected performance or content fidelity, content availability,on-device content storage, or other features associated with the device112, user's services, network or network services, content services, orother aspects of the user's 116 experience. Consequently, for clarity itshould be noted that the genre-mode proxy engine 1108, video-contentstore 1124, billing system 1112, and the various stores of dataincluding subscription records 1116 and data-usage records 1120 are alsonot limited to particular content associated with a content category orother classification, but rather may operate in conjunction with contentthat is associated partly, or only, with particular contractual terms,expected performance or content fidelity, content availability,on-device content storage, or other features associated with the device112, user's services, network or network services, content services, orother aspects of the user's experience.

The functions associated with the genre-mode proxy engine 1108, thevideo-content store 1124, the billing system 1112, and the variousstores of data including subscription records 1116 and data-usagerecords 1120 can be technically implemented through any of, all of, orany combination of: execution as part of the user interface 312; as partof software functionality on the device 112; as part of the aggregationsystem 108; as part of a system associated with the aggregation system108; as part of an Internet service 126 associated with the aggregationsystem 108 and/or the user 116; as part of, or in conjunction with, acontent management system, shared content management system, or othersystem associated with a service feed 206; as a standalone system orprogramming interface; as a standalone Internet service 126; through aprogramming interface or other digital interface of the device 112, theoperating system executing on the device 112, or other softwareexecuting on the device 112; through a programming interface or otherdigital interface available in conjunction with the network connected,directly, indirectly, or through an intermediate network, to the userdevice 112.

The visual representation of the genre modes available, the selectedgenre mode, and other genre mode related characteristics may optionallybe implemented as an icon, array of icons, or sub-array of icons, as aseparate indicator, message, pull-down control, keyword control, orsymbol, conditionally indicated to the user 116, or not indicated to theuser 116. When more than one genre mode is available to the user 116,the selected genre mode may be continuously, periodically,conditionally, or partially synchronized, or not synchronized, from onedevice used by the user 116 to another device 112 used by the user 116.

In an optional aspect of the primary and other embodiments, a user canoptionally, conditionally, or non-conditionally share, or prohibitsharing of, in real-time, near real-time, retrospectively, or inaggregate, some or all of her icons 830 and/or tiled icons 830-6, 830-7,other user interface elements, components, contents, messages, orcharacteristics, or selection of genre or other mode, and/or correlatedor uncorrelated Feed Items, Feeds, as well as associated actions, useractions, and responses to user actions, with one or more other users ofthe aggregation system 108, with one or more other users of anotherInternet service 206, such as a social networking service 126, or withone or more users of another service enabled by the user's device or byinterconnection of the user's device with another system or service.Such sharing can be implemented automatically, periodically,continuously, as a result of an action or selection by the user oranother user, or on another basis. For example, a user 116 couldoptionally share her tiled icons 830-6, 830-7 along with any Feed Itemfiltering with another user 116 of the aggregation system 108, so thatthe receiving user could see and, at her option adopt, some or all ofthe icons 830, tiled icons 830-6, 830-7, icon combinations, or iconconfigurations, along with the correlated Feeds, of the sharing user.Such sharing could be implemented by allowing the sharing user to sendsome or all of her icon configuration to the receiving user, or byenabling the sharing user to publisher her icon configuration or aportion of it so that any other user can see and optionally adopt someor all of it, or by enabling the receiving user to request, and thesharing user to allow or not allow, access to the sharing user's iconconfiguration, or by any similar process. As another example, a user 116could optionally share, in real-time or near real-time, with other usersof the aggregation system 108 or with other users of a social networkingservice, each icon selection action that she takes, such that otherusers would be notified of the icons 830, tiled icons 830-6, 830-7,and/or Feeds selected by the sharing user, and optionally of the device112 the sharing user is using to access the aggregation system 108, frommoment to moment as the sharing user uses the aggregation system 108.

In addition, a user can optionally, conditionally, or non-conditionallyallow or not allow, in real-time, near real-time, retrospectively, or inaggregate, sharing to her of some or all of the icons 830, tiled icons830-6, 830-7, Feeds, other user interface elements, components,contents, messages, or characteristics, or selection of genre or othermode, and/or correlated or uncorrelated Feed Items, as well asassociated actions, user actions, and responses to user actions, fromone or more other users of the aggregation system 108, from one or moreother users 116 of another Internet service 206, such as a socialnetworking service, or from one or more users 116 of another serviceenabled by the user's device or by interconnection of the user's device112 with another system or service.

In an optional aspect of the primary and other embodiments, the operatorof a digital service can optionally, conditionally, or non-conditionallypermit, prohibit, limit, determine permitted accessing and/or sharingdevices 112, services, locations 120, or modes, or otherwise controlaccess to and/or sharing of, in real-time, near real-time,retrospectively, or in aggregate, some or all of the icons 830 and/ortiled icons 830-6, 830-7, other user interface 312 elements, components,contents, messages, or characteristics, or selection of genre or othermode, and/or correlated or uncorrelated Feed Items, Feeds, as well asassociated actions, user 116 actions, and responses to user 116 actions,available to users 116 of the digital service via the aggregation system108, and including inclusion of such in a directory of available feeds,items or other content. As an example, an operator of a digital servicecould prohibit any sharing of any user 116 action, permit sharing of allfeed items with other users 116 of its digital service, and permitsharing of some feed items by its users 116 with other users who are notusers of the digital service while prohibiting such sharing of certainother feed items; such controls can permit the operator of a digitalservice to control sharing alternatives available to its users 116 forits content, control the exposure of its users' 116 actions wheninteracting with its content, and otherwise maintain a more controlledand/or secure environment concerning its users 116 and content withinthe broader aggregation system 108. Similarly, visibility of, and/or theavailability of, a digital service's feeds, feed items, icons 830 and/ortiled icons 830-6, 830-7, other user interface 312 elements, components,contents, messages, or characteristics, or selection of genre or othermode, and/or correlated or uncorrelated Feed Items, Feeds, as well asassociated actions, user 116 actions, and responses to user actions, orother content or digital service configuration information or indicatorscan be limited to only those users who have been authenticated to thedigital service, for example by providing user credentials such as ausername and password for the digital service, including authenticationthrough a directory service, an identification authority, or through asimilar user identification or registration function, to the digitalservice or to related digital services. Upon authentication, the digitalservice can return to the aggregation system 108 the specificconfiguration of feeds, feed items, icons 830 and/or tiled icons 830-6,830-7, other user interface elements, or other content or digitalservice configuration information or indicators authorized for the user116, which can then be effected by the aggregation system 108;subsequent modifications of the user's 116 specific configuration can becommunicated to, and effected by, the aggregation system 108; and anysubsequent expiration or revocation of the user's 116 access to thedigital service can be communicated to, and effected by, the aggregationsystem 108.

In the primary and other embodiments, implementation, configuration,synchronization, coordination, management, and sharing of icons 830,and/or groupings of icons 830 and/or tiled icons 830-6, 830-7, and/orother user interface elements, components, contents, messages, orcharacteristics, or genre or other mode, and/or correlated oruncorrelated Feed Items, as well as associated actions, user actions,and responses to user actions, can be implemented through any of, allof, or any combination of, a direct data or programming interfacebetween the user interface 312, the user's device 112, and/or aninterface element available on the user's device, such as the operatingsystem, web browser, another application, or other device facility, andthe feed presentation interface operating on the device; a data orprogramming interface between the visual user interface 312, the user'sdevice 112 and/or an interface element available on the user's device112, such as the operating system, web browser, another application, orother device facility, and the aggregation system 108 or other controlsystem associated with the aggregation system 108; a data or programminginterface between an intermediate system communicating directly orindirectly with the visual user interface 312, the user's device 112and/or an interface element available on the user's device 112, such asthe operating system, web browser, another application, or other devicefacility, and the feed presentation interface operating on the device; adata or programming interface between an intermediate systemcommunicating directly or indirectly with the user interface 312, theuser's device 112 and/or an interface element available on the user'sdevice, such as the operating system, web browser, another application,or other device facility, and the aggregation system 108 or othercontrol system associated with the aggregation system 108; a data orprogramming interface communicating directly or indirectly between theaggregation system 108 and an Internet service 206 or another system orservice; a data or programming interface communicating directly orindirectly between the aggregation system 108 and an Internet service126 or another system or service, utilizing user access credentials toaccess the aggregation system 108, the Internet service 126, and/oranother system or service; or another data or programming interface thatcommunicates the contents of, or information about, the icons 830, tiledicons 830-6, 830-7, and/or other user interface elements, components,contents, messages, or characteristics, or genre or other mode, and/orFeed Items, or other information associated with one or more users 116of the device 112 or user interface 312.

In an optional aspect of the primary embodiment, the user 116 has theoption of selecting regular viewing mode, which plays each video in theselective feed 220 in full as presented (that is, plays the first video,then plays the next video, then plays the next video) or can select aquick-play viewing mode activated by a quick-play control 754, whichplays one or more excerpts of each video, rather than the full videos,in scan sequence. In this optional aspect of the primary embodiment, theexcerpts may be of a specific length, may be of selectable length by theuser 116, may be of a length selected by the aggregation system 108, ormay be of a length separately selected for each feed item 332 by theaggregation system 108 for each. In this optional aspect of the primaryembodiment, the user 116 has the option of clicking on a play-in-fullicon, which then initiates playback of the full feed item 332 from thebeginning; upon completion, the aggregation system 108 will stay inregular viewing mode of the active viewing pane 708 for the next feeditem 332 in the user's selective feed 220, or in another optional aspectof the primary embodiment, the aggregation system 108 will return toquick-play viewing mode for the next feed item 332. When the user 116selects quick-play viewing mode or alters the settings (length ofexcerpt, etc.) of quick-play viewing mode, the presentation of theuser's selective feed 220 is filtered to include only those feed items332 for which the necessary excerpt(s) is(are) available, thuspresenting the user 116 a selective feed 220 that functions properly inthis mode.

In another optional aspect of the primary embodiment, content publishersand/or Internet services 126 may be offered the option of prohibitingquick-play viewing mode or of specifying one or more excerpts to bepresented in quick-play viewing mode. If a content publisher 126 haselected to prohibit quick-play viewing mode, when the user 116 selectsthis viewing mode the presentation of the user's Feed is additionallyfiltered to include only those Feed Items for which the contentpublisher 126 has not prohibited quick-play viewing mode, thuspresenting the user 116 a Feed that functions properly in this mode. Ifa content publisher 126 has elected to specify one or more excerpts tobe presented in quick-play viewing mode, when the user 116 selects thismode the presentation of the user's Feed is additionally filtered toinclude only those Feed Items for which the specified excerpt matchesthe quick-play viewing mode settings, or alternatively, the user'ssettings are overridden and the content publisher's 126 selected excerptis presented even though it does not meet the user's quick-play viewingmode settings.

In another optional aspect of the primary embodiment, content publishers126 may be offered the option of prohibiting quick-play viewing mode onspecific devices 112 or specifying the excerpt to be used on aparticular device 112 in quick play viewing mode. If a content publisher126 has elected to prohibit quick-play viewing mode on specific devices112, when the user 116 selects quick-play viewing, the presentation ofthe user's Feed is additionally filtered to include only those FeedItems for which the content publisher 126 has not prohibited quick-playviewing mode on the device 112 the user 116 is using for playback, thuspresenting the user 116 a Feed that functions properly in this mode. Ifa content publisher 126 has elected to specify one or more excerpts tobe presented in quick-play viewing mode on a particular device 112, whenthe user 116 selects this mode the presentation of the user's Feed isadditionally filtered to include only those Feed Items for which thecontent provider's 126 specified excerpt for the device 112 being usedby the user 116 matches the quick-play viewing mode settings, oralternatively, the user's settings are overridden and the contentpublisher's 126 selected excerpt for the device 112 being used by theuser 116 is presented even though it does not meet the user's quick-playviewing mode settings.

In the primary embodiment, the Feed presented to the user 116 mayoptionally be modified (expanded or narrowed) based on the capabilitiesof the device 112 in use by the user 116 to effectively render the videocontent that comprises, is contained in, is referred to by, or isotherwise indicated by, the Feed Items in the Feed. In the primaryembodiment, the ability to effectively render the video content isdetermined in absolute terms, that is, either the device 112 can renderit or the device 112 cannot; in another embodiment, the ability toeffectively render the video content is determined in qualitative terms,such as based on how well the device 112 can render the video content,based on the relative quality of the video playback in the context ofthe device's overall capabilities, or based on the relative quality ofthe video playback in the context of the particular user's or a typicaluser's normal usage of the device 112. In some embodiments, the Internetservice 126 can specify a minimum quality of service such that theirvideo is rendered at an adequate quality and if the user device 112 isnot capable of the specified minimum quality, those Feed Items areremoved, hidden or disabled from the Feed.

In an optional aspect of the primary and other embodiments, the device112 can notify the aggregation system 108 when it receives a Feed Itemthat does not reference renderable video, or that references video thatrenders poorly, or that references video that is blocked or prohibitedfrom playing or that otherwise does not play properly or with adequatequality of service (QoS). The aggregation system 108 can evaluate thenotifications received from multiple devices 112, including the numberof notifications that have been received (including optionally receivingjust one notification); the frequency with which the notifications arereceived; the changes in velocity of the notifications; the geographic,network, domain, subdomain, or other locations from which thenotifications are received; the format, encoding, bitrate, or contentattribute; the device or devices 112, class of device 112, software orfirmware version of the device 112 from which the notifications arereceived; or other factors associated with the notifications received;and remove the Feed Item from the Feed of some or all users 116, andoptionally remove other related, similar, or otherwise correlated FeedItems from the Feed of some or all users 116. For example, a Feed Itemmay stop rendering properly on a set top box device 112, but renderappropriately on tablet computers 112. For Feeds played on set top boxdevices 112, the Feed Item would be removed or disabled, but wouldremain in a Feed sent to a tablet computer 112. Where the players 112report problems that correlate to one of the above factors, similarlysituated users 116 could have that Feed Item disabled. Additionally,support personnel associated with the aggregation system 108 could benotified so that the rendering failure could be corrected, for exampleby contacting the provider of the service feed in which the Feed Itemoriginated, by updating or otherwise modifying the user interface 312,by modifying the rendering system 112 so that the affected Feed Item(s)can be properly viewed, or by other corrective action. For example, aservice feed provider may change its video player software or videoencoding techniques such that the Feed Items are no longer playable onthe rendering system 112. Support personnel could correct the interfacesoftware that retrieves video from the service feed provider's Internetdomain or from the service feed provider's feed to enable the video fromthe service feed provider to play correctly in the rendering system 112.Feed Items 332 that were disabled could be re-enabled after thiscorrection is made and the previously unrenderable Feed Items werereprocessed and made available to the relevant Feeds.

In an optional aspect of the primary embodiment, the Feed presented tothe user 116 may optionally be modified (expanded or narrowed) based onthe user's Feed Items that are accessible or accessed and the device 112in use by the user 116, based on policies, attributes, orcharacteristics associated with the Feed Items, including thepreferences or settings specified by any of, all of, or any combinationof the producer of, publisher of, distributor of, contributor to, orother party affiliated with one or more items or the content containedin, or referenced by, one or more Feed Items, or by one or more Internetservices 126 that contributed one or more feed items, or the contentcontained in, or referenced by, one or more Feed Items, to the feed. Inan optional aspect of the primary embodiment, the feed presented to theuser 116 may optionally be modified (expanded or narrowed) based on theuser's Feed Items and the device 112 in use by the user 116, based onpolicies, attributes, or characteristics associated with the device 112,including the preferences or settings specified by the manufacturer of,distributor of, or other party affiliated with the device 112. Inanother optional aspect of the primary embodiment, the Feed presented tothe user 116 may optionally be modified (expanded or narrowed) based onthe user's Feed Items and the network or network segment to which thedevice 112 in use by the user 116 is attached, based on policies,attributes, or characteristics associated with the network or networksegment, including the preferences or settings specified by the networkor network segment operator, including a network operator, an enterpriseor other organization, or an operator of a home or other premisesnetwork.

In the primary embodiment, the user 116 can view a subset of the Feedand/or playback of the video content that comprises, is contained in, isreferred to by, or is otherwise indicated by, the Feed Items in the Feedbased on (including or excluding) all of, any of, or any combination of:the Internet service(s) 126 from which one or more Feed Items wereobtained; the user(s) 116 or other entity(ies) associated with theInternet service(s) 126 from which one or more Feed Items were obtained;the source(s) where one or more Feed Items were referenced; thesource(s) where one or more Feed Items were published; the source(s)where one or more Feed Items were first published; one or more lists orcategories of Internet services 126; one or more lists or categories ofusers of one or more Internet services 126; one or more lists orcategories of sources where Feed Items are referenced, published, orfirst published; one or more topics to which one or more Feed Itemsrefer; one or more categories of topics or within which one or moretopics are included; one or more time ranges, timeframes, sequences, ordates; one or more ratings, either globally or within one or moreInternet services 126; activity related to one or more Feed Items; orother criteria associated with one or more Feed Items.

In an optional aspect of the primary embodiment, the user 116 can attachone or more devices 112, such as connected consumer electronicsequipment, video game consoles, smartphones, set top boxes, pad/tabletcomputers, and other devices, to his or her user account with theaggregation system 108. In the primary embodiment, the user 116navigates to a code available on the device 112 she desires to connectto her account, then enters that code into her account through the userinterface 312. In an alternative method for connecting a device 112 toher account, the user 116 navigates to a sign-in screen on the device112 she wishes to connect and enters her username and password, therebysigning into the aggregation system 108 from the desired device 112. Inanother method for connecting a device 112 to a user's account, thedevice 112 is configured before shipment to connect to her account,based on information she provides or that is otherwise available, forexample at the time of placing the order. Under any of these or othermethods, the aggregation system 108 of the primary embodiment thenidentifies the device type, unique identification information, and othertechnical and configuration characteristics, identifies the device 112as connected to the user's account, and provides the appropriatelyconfigured Feeds, properly formatted service feed Items, other userinterface parameters and elements, operational parameters, controls andcommands, and other content and data to the device 112, and acceptsdata, input, and other appropriately formatted (and, if desired,authenticated) entries from the device 112. In one embodiment, a device112 can only be attached to a single user account with the aggregationsystem 108; in another embodiment, a device 112 can be attached tomultiple user accounts of the aggregation system 108.

In an optional aspect of the primary embodiment, the aggregation system108 determines one or more home regions, locations, or other geographiccharacteristics of a user 116, or of a device 112, or the combination ofa user 116 and device 112, with any appropriate level or range ofgeographic or cultural precision, such as a global region (e.g., NorthAmerica, Western Europe), continent, country, state, county, city,postal code, designated marketing area (DMA), census tract, language,zone, or other cultural environs. The home regions, locations, or othergeographic characteristics can then be used to filter, prioritize,select, or make substitutions for, some or all feed items, or versionsof feed items, or versions of content associated with feed items, suchas video content, presented in or with the Feed for a user 116, forexample to select a version of a Feed Item that is presented in alanguage specific to, or appropriate for, a region, location, orcharacteristic, or that contains a content version tailored to, orappropriate for, a region, country, or location, or substitute one suchversion of a Feed Item for another, or as another example to filter outa Feed Item 332 that is not appropriate for, or is prohibited for legalor regulatory reasons in, a country or location. In another embodimentof this optional aspect of the primary embodiment, the user 116 canspecify her home region, location, or other geographic characteristics.In yet another embodiment, the aggregation system 108 determines one ormore home regions, locations, or characteristics of a user 116, the user116 can also specify her home region, location, or other geographiccharacteristics, and the aggregation system 108 can determine when,under what conditions, and/or for which Feed Items to use the homeregion, location, or other geographic characteristics specified by theuser 116 and when, under what conditions, and/or for which Feed Items touse the home regions, locations, or other geographic characteristicsdetermined by the aggregation system 108. In one embodiment, theInternet service 126 can specify a home region, location, or othergeographic characteristics on a per service feed 206 or per Service feeditem 308, which is communicated to the aggregation system 108 and can beused by the aggregation system 108 independently, or in conjunctionwith, the home region, location, or other geographic characteristicsdetermined by the aggregation system 108, or the home region, location,or other geographic characteristics specified by the user 116, or both.

In an optional aspect of the primary embodiment, the user interface 312of the aggregation system 108 presents the user 116 with a list of, orarray, comprising one or more of the devices 112 connected to theaggregation system 108, optionally including the manufacturer, model,device type, carrier, unique identifier, and/or other relevantdescriptive data; allows the user 116 to provide customized names oridentifiers to each device 112 (such as “John's smartphone” or “LivingRoom TV”); enables the user 116 to manage each device 112, including tocancel the connection of that device 112 to the user's account; enablesthe user 116 to manage which of his or her Feeds, subsets of feeds,lists of items, or other category or subset of Feed Items is availableon each device 112, and under what label or title; enables the user toidentify or save Feed Items for a specific device or devices 112, forexample, while browsing the web via a web browser or while reviewing herFeed from a connected smartphone, identify or save a video for viewingon the device “Living Room TV” or on the group of devices “TVs at Home”;enables the user 116 to manage the lengths of items, content of items,category of items, or other item attributes that will determine orinfluence which content or Feed Items are available on that device 112;allows the user 116 to control one connected device 112 from another,such as controlling a connected Blu-Ray player from a connectedsmartphone; control how one or more Feeds, subset(s) of the Feed(s), orgroup of content or Feed Items is/are filtered and/or presented on thedevice or another device 112; and enables the user 116 to save, rollbackchanges to, or recover prior versions of, such configurations,information, settings, or controls associated with one or more devices112.

In an optional aspect of the primary and other embodiments, theaggregation system 108 accesses multiple Internet services 206 byaccessing a single shared content management system. The aggregationsystem 108 may use a single system-level access technique, such as atoken, sign-in sequence, shared secret key, public key, digitalsignature, or other authorization technique, to access the sharedcontent management system, or may use an individual system-level accesstechnique to access the shared content management system for eachauthorized Internet service 206 associated with the shared contentmanagement system, or may access the shared content management systemwithout any system-level access control. The aggregation system 108 canuse common access, interface and processing steps and techniques for allInternet services 206 associated with a particular shared contentmanagement system, while still identifying the separate Internetservices 206 associated with the shared content management system andidentifying, and maintaining the association of, Feed Items and otherassociated information (such as metadata) with the proper Internetservice 206 associated with the shared content management system. Theaggregation system 108 may similarly access multiple shared contentmanagement systems concurrently or sequentially. If a given Internetservice 206 is associated with more than one shared content managementsystem, the aggregation system 108 can optionally maintain separation ofthe Feed Items and other associated information from some or all of theshared content management systems associated with the Internet service126, or can merge some or all of them into a single Feed of contentand/or associated information associated with the Internet service 126.If a given Internet service 126 migrates from one shared contentmanagement system to another shared content management system, theaggregations system 108 can access the new shared content managementsystem using any new required system-level access techniques requiredand can optionally merge some or all of the Feed Items and otherassociated information into a single Feed of content and/or associatedinformation associated with the Internet service 126.

In an optional aspect of the primary and other embodiments, the operatorof the aggregation system 108 or another service provider can provideany of, some of, all of, or any combination of technical optimization,digital advertising execution, user activity reporting, andsynchronization with other applications for providers of content Feeds,Internet services, or other content, data, or services to theaggregation system 108.

Technical optimization includes, but is not limited to, audio and/orvideo encoding and/or transcoding, at one encoded bitrate or at multipleencoded bitrates; audio and/or video encoding and/or transcoding toadapt files for delivery to particular devices, including detecting thedevice 112 and selecting an appropriate technical format associated withthe device 112; segmenting encoded files into appropriate segment sizesfor delivery adapted to various devices 112 and/or various networkconnectivity conditions, so that files are encoded in the proper formatand protocol for particular devices, and/or so that overall segmentlengths are appropriate for a given device, given the heterogeneousmemory, processor, buffer, and other technical characteristics ofdifferent devices 112, and/or so that higher bitrate segments can berequested and/or delivered when more network throughput is available,while lower bitrate segments can be requested and/or delivered when lessnetwork throughput is available; file transmission, or delegation offile transmission to one or more selected data services providers ordata, storage, or computing infrastructure providers; and identifying apause point when a user 116 pauses viewing of an item for continuedviewing later, calculating a resume point from the pause point plus anoffset so that resumed viewing begins at a point prior to the actualpause point, correlating the pause point and/or resume points in oneencoded and/or segmented version of the item to the equivalent pauseand/or resume points in another encoded and/or segmented version of theitem.

Digital advertising execution includes, but is not limited to, issuingone or more appropriately formatted advertising requests to one or moreadvertising services or servers before, after, during, or in conjunctionwith a content request, play, other user action, or independently of auser action; identifying the appropriate advertising service or serverto issue advertising requests to, including allocating advertisingrequests among multiple advertising services or servers for a givencontent request or play or among a series of content requests or plays;and including based on the service feed source, content publisher,content distributor, or other entity associated with the content,device, network, or user; generating, retrieving, sending and/orreceiving parameters associated with digital advertising from data filesor tables, or in URIs, content tags, embed codes, scripting languages,or programming calls; incorporating digital or other advertisements intothe content experience, including displaying or inserting audio, video,graphic, or other advertisement content before, after, during, inoverlay, in alphablend, in conjunction with, or independently of, audio,video, graphic, or other content; controlling the presentation and/oreffects of controls, such as the availability of a skip or fast forwardcontrol, based on information, instructions, and/or parameters receivedfrom one or more advertising services or servers or related services orservers; and reporting started, partially completed, completed, orotherwise characterized advertisement views to one or more advertisingservices or servers, measurement services or servers, and/or otherservices or servers.

User activity reporting includes, but is not limited to, issuingappropriately formatted URL requests, pixel requests, data messages,commands, or other data interactions to one or more measurement serversor services, analytics servers or services, reporting servers orservices, or other servers or services. The activity reporting could beused by the aggregation system 108 and optionally provided back to theInternet services 126 for their Feeds and/or Feed Items.

Synchronization with other applications includes, but is not limited to,linking between the user interface 312 or user device 112 and one ormore other applications; linking specifically from a given Feed or FeedItem to one or more other applications; including in the linking processan identification of the user's identity, in the context of theaggregation system, the provider of the other application(s), or theprovider of another Internet service 126; including in the linkingprocess an identification of what content or other item, or locationwithin the user interface 312 or user device 112, or user action theuser selected, viewed, interacted with, or performed that resulted in,or was associated with, linking to the one or more other applications;prompting, from the user interface 312 or user device 112, the downloadof one or more other applications; and notification, in the userinterface 312 or user device 112, of the availability of one or moreother applications or services.

Technical optimization, digital advertising execution, user activityreporting, and synchronization with other applications can betechnically implemented through any of, all of, or any combination of:execution as part of the user interface 312; as part of softwarefunctionality on the device 112; as part of the aggregation system 108;as part of a system associated with the aggregation system 108; as partof an Internet service 126 associated with the aggregation system 108and/or the user 116; as part of, or in conjunction with, a contentmanagement system, shared content management system, or other systemassociated with a service feed 206; as a standalone system orprogramming interface; as a standalone Internet service 126; through aprogramming interface or other digital interface of the device 112, theoperating system executing on the device 112, or other softwareexecuting on the device 112; through a programming interface or otherdigital interface available in conjunction with the network connected,directly, indirectly, or through an intermediate network, to the userdevice 112.

In one implementation of this aspect of the primary and otherembodiments, technical optimization, digital advertising execution, anduser activity reporting are provided by the operator of the aggregationsystem 108. In this implementation, a service feed provider enablesaccess to an XML feed of video content items as video service feed itemsare published or otherwise become available; enables access to itsdigital advertising server; enables access to an XML feed of its digitaladvertisements; provides a configuration for its content deliveryservice; and provides one or more reporting service URLs or beacons. Theoperator of the aggregation system 108 receives the XML feed of videocontent items from the service feed provider; encodes and/or transcodesthe video feed items into one or more suitable encoded file formats,each at one or more bitrates, preparing the video content for playbackon some or all of the devices supported by the aggregation system 108;where supported by the device 112 and/or expected delivery conditions,segments the encoded files into one or more segment lengths suitable forsome or all of the devices 112 supported by the aggregation system 108;and associates one or more Internet URLs or other content identifierswith each encoded file or segment. The operator of the aggregationsystem 108 also receives the XML feed of advertisements and similarlyprepares the advertisements for playback on some or all of the devices112 associated with the aggregations system 108. The operator of theaggregation system 108 then provides in the feed sent to user devicesappropriate URIs for that device 112, manifests containing appropriateURIs for that device 112, or alternatively intermediate URIs, ormanifests containing intermediate URIs that will lead, through HTTPredirection or other similar techniques, to appropriate URIs for thatdevice 112. In this manner, when a content item, URI, intermediate URI,or manifest containing URIs or intermediate URIs is requested by theuser, it will be requested from the aggregation system 108 or a systemassociated with the aggregation system 108, rather than directly fromthe Internet service 126; in addition, a content item, URI, intermediateURI, or manifest containing URIs or intermediate URIs can be associatedwith one or more data services providers or data, storage, or computinginfrastructure providers for delegation of file transmission, whereinthe data services provider or data, storage, or computing infrastructureprovider is associated with the Internet service 126, feed itemprovider, or related digital service, and optionally wherein one or moreURIs, intermediate URIs, or manifests containing URIs or intermediateURIs is configured by the aggregation system to identify the feedprovider, feed item provider, or related digital service, or itsassociated account, to the data services provider or data, storage, orcomputing infrastructure provider, and/or to or to configure in advance,in whole or in part, the facilities to be used by the data servicesprovider or data, storage, or computing infrastructure provider; notealso that such delegations can be made by the operator of theaggregation system 108 among multiple data services provider or data,storage, or computing infrastructure providers associated with theInternet service 126, feed item provider, or related digital service,and can be conditioned on the user 116, the user's device 112, networkconnection, or location 120, the selected genre mode in use by the user116, or any other aspect of the user's 116 configuration or use of theuser interface 312. For example, the operator of the aggregation system108 can execute delegation of file transmission for a particularInternet service 126 to one data services provider when the user is in agiven genre mode, and a different data services provider when the user116 is in a second genre mode. The operator of the aggregation system108 can operate systems that encode, transcode, and/or segment files,can utilize an outside service that encodes, transcodes, and/or segmentsfiles, or can utilize an outside service that provides URIs,intermediate URIs, manifests containing URIs, and/or manifestscontaining intermediate URIs that identify the content in a formappropriate for the device 112.

Continuing with this implementation, a URI sent to the device 112 caninclude or encode parameters associated with digital advertisingmanagement, options, processes, or alternatives, which can then bepassed through to digital advertising servers or services, eitherdirectly or after combination with other information or parameters.Alternatively, the parameters can be retrieved from a file or table, canbe generated, or can otherwise be determined. These parameters caninfluence or control the selection of advertising servers or servicesfor some or all of the available advertising units, the trafficking ofadvertisements into available advertising units, or other aspects of thedigital advertising process.

Continuing with this implementation, before, during, after, or inconjunctions with content selection or playback by the user 112, theoperator of the aggregation system 108 or associated system can thenissue a request to the advertising server or service identified by theInternet service 126, receive in response a designation of whichadvertisement to insert before, after, or into, or display inconjunction with, the content during the content playback experience,and can insert or display the correct advertisement, at the correctposition, in a properly encoded and segmented form, into the playbackexperience on behalf of the Internet service 126. The advertisement canbe inserted by any of, all of, or any combination of: the user interface312, the user's device 112, by inserting URLs or intermediate URLsreferencing the advertisement into manifests sent to the user's device112, by inserting manifests containing URLs or intermediate URLsreferencing the advertisement into the sequence of manifests sent to theuser's device 112, or directly into the content sent to the user'sdevice 112, either at the time the content is requested or in apreparation step before the content is requested. At, during, after, orin conjunction with the playback or display of the advertisement, theoperator of the aggregation system 108 can then report completion of theadvertisement playback or display to one or more advertising servers orservices or other reporting servers or services, identified by orassociated with the Internet service 126, on behalf of the Internetservice 126. The operator of the aggregation system 108 can also reportprogress through, completion of, and other analytical characteristics ofthe content video playback activity of the user to one or more reportingand/or measurement servers or services identified by, or associatedwith, the Internet service 126, on behalf of the Internet service 126.

This implementation can support multiple Internet services 126,providing independent XML feeds of content items as they are publishedor available and XML feeds of advertisements, utilizing different dataservices providers (while also supporting multiple Internet services 126that use the same data services provider, by identifying to the dataservices provider the applicable Internet service 126 configuration oraccount associated with each file transmission, storage, encode,optimization, or other data service), employing different advertisingservers or services (while also supporting multiple Internet services126 that use the same advertising servers or services, by identifying tothe advertising measurement server or service the Internet service 126on whose behalf the operator of the aggregation system 108 isreporting), and employing different reporting and/or measurement serversor services (while also supporting multiple Internet services 126 usingthe same reporting and/or measurement servers or services, byidentifying to the reporting and/or measurement server or service theInternet service 126 on whose behalf the operator of the aggregationsystem 108 is reporting). This implementation can concurrently supportmultiple different user interfaces 312 operating on multiple differentdevices 112 interacting with multiple advertising servers or servicesand multiple reporting and/or measurement servers or services on behalfof multiple Internet services 126, or independently of any individualInternet service 126. This implementation can concurrently support filetransmission and/or delegation of file transmission to multiple data,storage, or computing services providers or data, storage, or computinginfrastructures, including transmission of the same file utilizing morethan one data, storage, or computing services provider or data, storage,or computing infrastructure based on any of, or any combination of: theuser device 112 to which one or more files are transmitted; location 120of said user device 112; location, throughput, utilization, orperformance of one or more components of a data, storage, or computingservices provider or data, storage, or computing infrastructure; networkor network performance associated with a data, storage, or computingservices provider or data, storage, or computing infrastructure, orassociated with one or more components of a data, storage, or computingservices provider or data, storage, or computing infrastructure; thenetwork to which the device 112 is connected or an intermediate networkto which said network is connected, directly or indirectly; throughput,data or packet loss, or other performance characteristic(s) associatedwith said network, said intermediate network, or the aggregate of someor all networks; a Feed, selective feed 220, subset of feeds, digitalservice, subset of digital services, type or characteristic of feed ordigital service, or genre mode associated with one or more feed items orwith one or more files; the version or other aspects of the userinterface 312 associated with the user device 112; or other criteriaassociated with the user device 112 or the file.

Other implementations of this aspect of the primary and otherembodiments can provide digital advertising execution and user activityreporting through requests made, and reports sent, by the user interface312; the user device 112; a component of, facility of, or other programoperating on the user device 112; or a network connected, directly orvia another network, to the user device 112. In all such implementationsthe requests and reports can be made either directly to the advertisingserver(s) or service(s) and/or reporting and/or measurement server(s) orservice(s), or to an intermediate server or service operated by theoperator of the aggregation system 108 or another service operator. Theoperator of the aggregation system 108 or another service operator canmaintain and/or provide, to the user interface 312, user device 112, orother requesting and reporting servers or services, one or moredatasets, data records, data elements, or other input information thatidentifies for each participating service feed provider the advertisingserver(s), reporting and/or measurement server(s), request formats,reporting protocols, and other necessary technical and interfaceinformation, addresses, protocols, formats, and authenticationtechniques so that the user interface 312, user device 112 or otherrequesting and reporting server or service can successfully requestand/or report to the correct servers and/or services on behalf of eachservice feed provider 126. In such implementations, the operator of theaggregation system 108 or other service operator can provide andperiodically update one or more datasets, data records, data elements,or other input information thereby enabling the user interface 312, userdevice 112, or other requesting and reporting servers or services tomake multiple requests by accessing the datasets, data records, dataelements, or other inputs multiple times between communications with theoperator of the aggregation system 108 or other service operator; or,the operator of the aggregation system 108 or other service operator canmaintain one or more datasets, data records, data elements, or otherinput information and enable the user interface 312, user device 112, orother requesting and reporting servers or services to access, interactwith, communicate with, or otherwise obtain information as needed fromthe datasets, data records, data elements, or other input informationeach time such information is needed; or, the operator of theaggregation system 108 or other service operator can act as acommunications hub or point, e.g. a clearinghouse, enabling the userinterface 312, user device 112, or other requesting and reportingservers or services to access, interact with, communicate with, orotherwise obtain information as needed, or in advance of as needed, fromit, while it in turn accesses the datasets, data records, data elements,or other input information from service feed providers, Internetservices 206, shared content management systems, or other sources ofsuch information, as such information is requested, or in advance ofsuch requests. These implementations can concurrently support multipledifferent user interfaces 312 operating on multiple different devices112 interacting with multiple advertising servers or services andmultiple reporting and/or measurement servers or services on behalf ofmultiple service feed providers 126, or independently of any individualservice feed provider 126.

In another optional aspect of the primary and other embodiments, theoperator of the aggregation system 108 can signal advertising loadcharacteristics, or whether or not to insert an advertisement, tomultiple service feed providers 126 such that the overall advertisingload experienced by a user can be coordinated among multiple servicefeed providers 126, and so that each service feed provider 126 canreceive a share of the total available advertising load. This can helpprevent the individual actions of service feed providers 126, indeciding how many advertisements to insert and which video playbacks toinsert them into, from combining in an uncoordinated way to saturate theuser's playback experience with too many advertisements. In oneimplementation of this aspect of the primary and other embodiments, theuser interface 312 or user device 112 includes a parameter with eachrequested service feed item 308 that signals whether or not anadvertisement should be inserted into the requested content item. Inanother implementation of this aspect of the primary and otherembodiments, the user interface 312, user device 112, aggregation system108, or other system making requests to an advertising server on behalfof the Internet service 126 includes a parameter with each requestedservice feed item that signals whether or not an advertisement should beinserted into the requested content item. In another implementation ofthis aspect of the primary and other embodiments, the user interface312, user device 112, aggregation system 108, or other system makingrequests to an advertising server on behalf of the Internet service 126manages the overall advertising load by not making a request to theadvertising server, which results in a content item without anadvertisement inserted into it. In any such implementation, theadvertising load is managed to an acceptable level for the user while atthe same time the available advertising load is distributed among theInternet services 126 according to each service feed provider's share,overall load objectives, or other objectives. In this manner, the userinterface 312, user device 112, aggregation system 108, or other systemoperates to coordinate the advertisement insertions among theparticipating service feed providers. In other embodiments, the Internetservices 126 insert advertising avails into the content item or inmetadata where the aggregation system 108 can insert advertising.

In another optional aspect of the primary and other embodiments, theoperator of the aggregation system 108, or a system associated with theaggregation system 108, can aggregate and/or correlate user 116 activitydata across multiple Feeds, across multiple devices 112, over time, andin other ways, or in any combination. A user's 116 activity can becorrelated using one or more available common data elements, forexample: user 116 credentials, such as user name and password or otherlogin information, for any Internet service 126; user 116 accesscredentials for the user interface 312 and/or aggregation system 108; adevice 112 identifier; a device-supporting service identifier; a networkaddress, IP address, MAC address, or similar; a user 116 behaviorpattern or signature; a data file downloaded to, or stored on, a device112 or within an application or software on a device 112; or other dataelement available in common across two or more such correlations.Multiple such correlations can be cross-referenced, further extendingthe range of correlations that can be made. As one example, user 116activity information can be correlated across devices 112 for a user 116who uses social network service credentials, e.g. Facebook Connect™authentication, to sign in to the user interface 312 executing on asmartphone, tablet, and connected television, by correlating theindividual user 116 activity records according to a Facebook™identifier; this correlation can be implemented in a variety of ways,for example by associating the Facebook™ identifier to an underlyinguser 116 identifier and storing user 116 activity records by theunderlying user 116 identifier as they are created, or by storing user116 activity records by the Facebook™ identifier and then correlatingthem when reporting is required, or by another technique. As anotherexample, user 116 activity information can be correlated across devices112 using a combination of a social network service credentials enteredon one device 112, coupled with the Internet services 126 useridentifier associated with that device 112 and other devices 112commonly connected to the Internet service 126, such as extending auser's 116 Facebook™-connected capability by associating the userinterface 312 executing on an Apple™ iPhone™, on which she entered herFacebook™ sign-in information, with her user interface 312 executing onher Apple™ iPad™ by using the iCloud™ services interface connected toeach via her Apple™ iTunes™ account ID or other Apple™ ID, therebyidentifying her (for sign-in, feed and content presentation,customization, user reporting, and other functions) as the same user onboth devices 112. This user and her activity on her user interface 312executing on a non-Apple™, non-iCloud™ connected television could alsothen be further associated with her when she signs into that connectedtelevision with the her Facebook™ identifier; because her connectedtelevision is authorized to her multichannel video programmingdistributor (MVPD) account, if she later visits her MVPD's website andsigns into that website with her MVPD username and password, useractivity from the MVPD website can now be correlated as well; andloading a browser cookie from the MVPD website that can be read as shebrowses other websites on the Internet and/or uses applications on hermobile and connected devices 112 and that contains a user identifier,such as a globally unique identifier (GUID), enables correlation ofthose of her activities as well, including correlation of any other useractivities that can be correlated with any of these user identifiers.

In another optional aspect of the primary and other embodiments, theoperator of the aggregation system 108, or a system associated with theaggregation system 108, may, as described, correlate and report user 116activity in many ways, for a variety of purposes and to a range ofparties and systems, both in retrospect and in realtime ornear-realtime, and may project user 116 activity or other informationprospectively. In these instances, it may be necessary or desirable toidentify a user 116 or group of users 116 uniquely to each such party orsystem, to protect the confidentiality of personal, business, or otherinformation, optionally uniquely per device 112 or commonly across someor all devices 112, or a combination. One way this can be accomplishedis by associating multiple unique identifiers with a single user 116, orgroup of users 116, as activity or other information about that user 116or users 116 is reported or communicated to other parties or systems,such that one party or system receives information about that user 116or user 116) with one associated user 116 identifier and another partyor system receives information about that user 116 or users 116 with asecond, different associated user 116 identifier, even though both setsof information refer to the same user 116 or users 116. For example,when a request is sent to an advertising server or service associatedwith an Internet service 126, it can be advantageous to include a uniqueuser 116 identifier in the request, which then enables more advanced adtrafficking and decision-making logic by the advertising server orservice; it will often be advantageous to send, for a single user 116,one unique user 116 identifier in the request sent to a firstadvertising server or service associated with a first Internet service126, and a second unique user 116 identifier in the request sent to asecond advertising server or service (such as a remnant advertisingnetwork) associated with that first Internet service 126 or the requestsent to an advertising server or service associated with a secondInternet service 126. It may also be advantageous, for a single user116, to in some cases send a previously-associated unique user 116identifier, such as the user's 116 identifier associated with theservice to which it is being sent, while in other cases send anon-associated unique identifier; for example, if the request is beingsent to a Facebook™-operated advertising server or service, the user's116 Facebook™ identifier, or a unique identifier associated with theuser's 116 Facebook™ identifier, may be included in the request, whereaswhen the request is being sent to a non-Facebook™-operated advertisingserver or service, a unique identifier that is not, and is notassociated with, the user's 116 Facebook™ identifier is sent. For asingle user 116, a unique user 116 identifier can be used across devices112, or a separate unique user 116 identifier can be used for eachdevice 112; this can be implemented consistently for the user 116, orconditionally for the user 116, such that in some cases a unique user116 identifier is used across all devices 112 and in some cases separateunique user 116 identifiers are used on separate devices 112; forexample, this could be conditioned upon participation in a businessrelationship or in conformance to certain privacy standards, so thatrequests sent to participating advertising servers or services are sentwith a common unique user 116 identifier across devices 112 used by agiven user 116, whereas requests sent to non-participating advertisingservers or services for the same user 116 are sent with a differentunique user 116 identifier for each device 112 used by a given user 116.This could also be conditioned upon user 116 parameters (e.g., useropt-in or opt-out, usage characteristics, etc.), location 120parameters, device 112, Feeds subscribed or in use, or other conditions.In addition, unique user 116 identifiers can be maintained or changedover time. Multiple unique user 116 identifiers can similarly be usedfor a single user 116 or group of users 116 in reporting, or providingaccess to (such as through a query or reporting tool, analytics system,or the like), user 116 activity, user 116 demographics and analytics,and other information about users 116.

In these implementations, the operator of the aggregation system 108, ora system associated with the aggregation system 108, generates and/orstores multiple unique user 116 identifiers for each user 116, alongwith information indicating which services, devices 112, informationrecipients, or other entities are associated to, have access to, orotherwise use each unique user 116 identifier, optionally along withother conditional policy parameters or information. Implementation ofmultiple unique user 116 identifiers for each user 116 can include anyof, all of, or any combination of: implementation as part of the userinterface 312; as part of the device 112; as part of the aggregationsystem 108; as part of a system associated with the aggregation system108; as part of an Internet service 126 associated with the aggregationsystem 108 and/or the user 116; as another system or programminginterface; as another Internet service 126; through a programminginterface or other digital interface of the device 112, the operatingsystem executing on the device 112, or other software executing on thedevice 112; or through a programming interface or other digitalinterface available in conjunction with the network connected, directly,indirectly, or through an intermediate network, to the device 112.

In an optional aspect of the primary and other embodiments, Feeds caninclude items added to the Feed that are not feed content items.Additional items can include identifiers of the feed provider, serviceprovider, or other provider, or of the date, day part, season, device,place, network, or other party; introductory, opening, or summary itemsat the top of a Feed or Feed Item; summary or closing items at thebottom of a Feed, Feed Item, or group of feed items; transitionalmultimedia items between feed items; and other items added to the feedthat are not feed content items.

In an optional aspect of the primary and other embodiments, a servicefeed presented to a user may be comprised of feed items from more thanone service feed 206, presented without attribution to, identificationof, or separation by, the contributing content provider. An Internetservice 126, for example, could gather feed items from multiple sourcesand aggregate those feed items into a service feed 206 that is passed tothe aggregation system 108.

In an optional aspect of the primary and other embodiments, the Feeds,and/or other Feed Items associated with a user 116 can be accessed,searched, indexed, correlated, or used in responding to search requestsmade by the user 116, other users 116 associated with or authorized bythe user 116, other users 116 of the aggregation system 108 or otherusers of search services generally. For example, a user 116 may make oneor more of or even all their Feeds public such that they could besearched by other users 116.

The search provider can provide to the operator of the aggregationsystem 108 or a system associated with the aggregation system 108 a useridentifier, such as a user name or number, device name or number, globalunique identifier associated with a user or device, IP address, hostnumber, or any combination thereof, along with one or more search terms,keywords, categories, or other search indicators. The operator of theaggregation system 108 or other system associated with the aggregationsystem 108 can provide to the search provider specific feed items thatare responsive to the search terms, keywords, categories, or othersearch indicators, from the service feeds 206, Feed Items associatedwith the user 116 identified by the user identifier, other users 116associated with the user 116 identified by the user identifier, or ofusers 116 of the aggregation system 108. Items responsive to the searchterms, keywords, categories or other search indicators can beprioritized, ranked, scored, and/or weighted based on data collected bythe operator of the aggregation system 108, including, but not limitedto, sharing activity, viewing activity, rating activity, following orsubscribing activity, or other user activity regarding one or more feeditems, content provider feeds, keywords, or categories, based onactivity of the user 116, users associated with the user 116, users ofanother Internet service 206, or users of the aggregation system 108.

Alternatively, the operator of the aggregation system 108 or othersystem associated with the aggregation system 108 can provide to thesearch provider one or more user identifiers, such as user names ornumbers, device names or numbers, global unique identifiers associatedwith users or devices, IP addresses, host numbers, or any combinationthereof, along with one or more Internet domains, Internet services,Feeds, keywords associated with one or more Feeds, compositioncharacteristics of Feeds or characteristics of other Feeds, Feed Itemsassociated with each user 116 identified by a user identifier or ofother users 116 associated with each user 116 identified by a useridentifier.

Alternatively, the operator of the aggregation system 108 or othersystem associated with the aggregation system 108 can provide to thesearch provider with one or more Internet domains, Internet services,Feeds, keywords associated with one or more feeds, compositioncharacteristics of feeds or Feeds, characteristics of other Feeds,and/or Feed Items associated with all users 116 or subsets of users 116of the aggregation system 108.

Search providers can include search service operators, devicemanufacturers, network access or service providers, software providers,or any other operator of a search service.

Implementation of the interface between the search provider and theoperator of the aggregation system 108 or other system associated withthe aggregation system 108 can include any of, all of, or anycombination of: execution as part of the user interface 312; as part ofthe device 112; as part of the aggregation system 108; as part of asystem associated with the aggregation system 108; as part of anInternet service 206 associated with the aggregation system 108 and/orthe user 116; as a system or programming interface of the searchprovider or a system associated with the search provider; as anothersystem or programming interface; as another Internet service 206;through a programming interface or other digital interface of thedevice, the operating system executing on the device 112, or othersoftware executing on the device 112; or through a programming interfaceor other digital interface available in conjunction with the networkconnected, directly, indirectly, or through an intermediate network, tothe user device 112.

In another optional aspect of the primary and other embodiments,activity and/or inactivity associated with a user 116, including (butnot limited to) adding, deleting, interacting with, and accessing Feedsor Internet services 126, and/or watching, repetitively watching,sharing, saving, skipping, or deleting feed items, can be employed,directly or indirectly, optionally in combination with data about theFeeds, Internet services 126, and feed items, optionally in combinationwith similar or dissimilar activity associated with other users 116,optionally in combination with other data, optionally in combinationwith declared interests of the user 116 and/or other users 116,optionally in combination with associations among users 116 on theaggregation system 108 and/or other Internet services 126 (such associal networking services), and optionally in combination withmeasurements of effectiveness, to in conjunction with a unified portal,dashboard, or guide service provided on or in association with thedevice (a “Unified Video Interface” or UVI), that brings together in aunified visual interface movie, television, and other video content fromone or more services available via the device or applications installedon the device, to make suggestions or recommendations about contentitems, channels, features, or other available content on other servicesthat are not the aggregation system 108, associated with the user 116,associated with a device 112, and/or associated with an application(“Other UVI Services”); and to configure content, Feeds, and/or feeditems for delivery to the user 116 through the aggregation system 108,user interface 312, any other instance of the user interface 312associated with the user 116, or other application or service associatedwith the aggregation system 108 or user interface 312, or otherwise tothe user 116. Such a Unified Video Interface could displayrecommendations derived entirely by, in part by, or in combination withthis optional aspect of the primary and other embodiments; and a Feed,one or more feed items, one or more series of feed items, or othercontent could be provided by the aggregation system 108, to one or moreinstance of the user interface 312, or otherwise to the user 116, basedon content available through Other UVI Services.

As an example of this optional aspect of the primary and otherembodiments, the activity of a user 116 who watches a series of feeditems associated with a particular movie or television show, or whorepetitively watches a particular feed item associated with a particularmovie or television show, could be used as the basis of a recommendationof that associated movie or television show communicated to the UnifiedVideo Interface for communication to the user 116 when that movie ortelevision show is available on an Other UVI Service. As another exampleof this optional aspect of the primary and other embodiments, contentavailable through Other UVI Services could be used to filter orconfigure one or more Feeds, such as a Feed explicitly identified asassociated with the UVI, or not so identified, and/or to prioritize feeditems within other feeds, and/or to select, prioritize, configure, orotherwise present promotional or other messages, content, or feed itemsto the user 116, such as presenting a “What's On Tonight” feed thatincludes feed items such as trailers, excerpts, and behind the scenesand other related content correlated to the movies and television showsavailable on Other UVI Services.

In one implementation of this optional aspect of the primary and otherembodiments, the aggregation system 108, user interface 312, or othersystem or software interacting with the aggregations system 108 or userinterface 312 would receive from the Unified Video Interface, or asystem interacting directly or indirectly with the Unified VideoInterface (a “UVI System”), a query or other message, and in responsewould return a list of recommendations; the query or other message mayoptionally include candidates, such as newly available items in theother services interfacing to the Unified Video Interface, along withthe Other UVI Service(s) associated with each candidate; and theresponse returned may optionally include a score or weight associatedwith some or all of the recommendations; and in addition to theresponse, the aggregation system 108 would create, filter, or deliver aFeed for the user 116 based on the candidates.

As an example of this implementation:

-   -   a UVI System would periodically send to the aggregation system        108, through the reporting interface 356, a file containing:        device 112 identifiers; for each device identifier, a list of        candidates, wherein the candidate list included newly released        pay-per-view movies from one or more such services received by        the device 112 (e.g. new releases on the Video On Demand service        received by the device 112), newly released subscription movies        from one or more such subscription services (e.g., new releases        available on Netflix, if a Netflix app is activated on the        device), movies available on subscription channels received by        the device 112, and movies available on free-to-watch television        channels received by the device 112; for each candidate, one or        more Other UVI Service identifiers indicating on which services        the candidate is available; and other information, if necessary,        such as a pay-per-view price, monthly subscription rate, or        other information;    -   the aggregation system 108 would receive the file; correlate the        device 112 identifiers to user 116 identifiers; score the        candidates listed for each user 116 according to the historical        information available about previous actions and watching        behavior of the user 116; return to the UVI System a sorted list        of candidates, in order from most preferred by the user 116 to        least preferred by the user 116, with a score or weight        associated with each candidate; and configure a feed for the        user 116 of available feed items associated with the candidates,        sorted in preferred order or not sorted in preferred order;    -   optionally, the UVI System could then further score the        candidates, using other available data or information about user        preferences, and create a final score for each candidate that is        informed by, but not only by, the score for each candidate for        each user 116 as determined by the aggregation system 108; and        optionally the UVI System could return this final score to the        aggregation system 108;    -   the aggregation system 108 could optionally provide selected        feed items to the UVI System, along with the candidate scores or        in response to receiving the final scores, or could provide        user-specific configured feeds, either in advance or on demand,        directly to the Unified Video Interface of each device 112,        based on either its scores or on the final scores received from        the UVI System; or could provide a user-specific but further        configured or condensed feed directly to the Unified Video        Interface of each device 112, based on its scores or on the        final scores received from the UVI System.

The user 116 experience associated with implementation of this optionalaspect of the primary and other embodiments would comprise:

-   -   recommendations available through the Unified Video Interface,        including trailers and related content, and optionally including        such content playing automatically and continuously, and        spanning multiple recommendations, organized as a single set of        recommendations spanning the Other UVI Services or as a set of        recommendations for each Other UVI Service, and filtered either        to include only Other UVI Services available to the user 116,        only Other UVI Services not available to the user 116, or not        filtered;    -   a Feed available through the user interface 312 similarly        comprising trailers and related content, similarly or        dissimilarly organized as a single set of recommendations        spanning the Other UVI Services or as a set of recommendations        for each Other UVI Service, and similarly or dissimilarly        filtered either to include only Other UVI Services available to        the user 116, only Other UVI Services not available to the user        116, or not filtered;    -   the Feed also available to the user 116 through any other user        interface 312 associated with the user 116, whether or not that        user interface 312 executes on the same device as the Unified        Video Interface, e.g. the Unified Video Interface executes on a        television associated with the user 116, and the Feed is        available to a user interface 312 associated with the user 116        executing on a smartphone.

Referring next to FIG. 11E, an embodiment of a process 1180 forreporting data derived from a multi-feed based system is shown. Thedepicted portion of the process begins in block 1182 where theaggregation system 108 presents a first feed item to a user 116 througha user interface 312, the first feed item linking to video content froma first Internet service 126-1. In block 1184, the aggregation system108 records an interaction of the user 116 in reference to the firstfeed item, including activity and/or inactivity of the user 116. Inblock 1186, the aggregation system 108 presents a second feed itemlinking to video content from a second Internet service 126-2. In block1188, the aggregation system 108 records an interaction of the user 116in reference to the second feed item, including activity and/orinactivity of the user 116. The aggregation system 108 then compilesrecords of interaction of the user 116 in reference to the first feeditem with records of the interaction of the user 116 in reference to thesecond feed item, block 1190.

In block 1192, the aggregation system 108 receives a query from anoutside system. The query from an outside system could be a query from aUVI system. In block 1194, the aggregation system 108 processes thequery from the outside system. In block 1196, the aggregation system 108returns data conforming to the query from the outside system to theoutside system.

In an optional aspect of the primary and other embodiments, theaggregation system 108, a system associated with the aggregation system108, a system associated with the user interface 312 or device 112, asystem associated with some or all of the devices 112 on which instancesof the user interface 312 execute, a system associated with softwareoperating on some or all of the devices 112 on which instances of theuser interface 312 execute, a system associated with one or more filesor other data created by, stored on, or processed by some or all of thedevices 112 on which instances of the user interface 312 execute, asystem associated with some or all service feed providers, a systemassociated with some or all of the networks connected, directly,indirectly, or through an intermediate network to some or all of thedevices on which instances of the user interface 312 execute, or anothersystem or service can receive, accumulate, parse, process, summarize,divide into subsets, and otherwise manipulate data elements, datarecords, data sets, or other information comprising numerical,statistical, quantitative, qualitative, descriptive, or otherinformation about actions, interactions, events, and other behavior andactivities started, stopped, completed, made, or taken by users 116 asthey engage with the user interface 312 or device 112, other interfacesto the aggregation system 108 or Internet services 126 connected to theaggregation system 108, Feeds, Feed Items, icons 830, tiled icons 830-6,830-7, controls, data entry fields, and/or other elements of the userinterface 312 or device 112. In addition, such accumulated data can, butneed not necessarily, include user authentication method, user identity,anonymized unique user identifiers such as globally unique identifiers,location, date, time, device identifier, network identifier,connectivity mode, operating system and other software componentidentifiers, user input device identifier, and other information. Theaccumulated data can be divided into subsets by, and exported to, one ormore service feed providers, manufacturers of devices 112 on whichinstances of the visual user interface 312 execute, developers of othersoftware that executes on devices 112 on which instances of the visualuser interface 312 execute, providers of networks connected, directly,indirectly, or through an intermediate network to some or all of thedevices 112 on which instances of the visual user interface 312 execute,providers of Internet services 206, advertising agencies, advertisingmeasurement and reporting servers or services, audience measurement andreporting servers or services, or other measurement and reportingservers or services.

Referring next to FIG. 12, an embodiment of a single pane view 1200 ofthe user interface 312 is shown. In this embodiment, a channel carousel805 rotates to select a single icon 830-4 denoted by a radio dial 840.The feed pane 712-4 corresponding to the selected icon 830-4 is shown.The user can select a Feed Item in the feed pane 712 that is shown inthe video window 702. The video window 702 may be selected to go fullscreen to occupy the entire single pane view or may automatically do soafter playback is begun or after a delay once playback is begun. In thisembodiment, the single pane view 1200 is displayed on a television usinga built-in player, a set top box, a DVD or Blu-Ray player, a videostreaming device, etc.

In an optional aspect of the primary and other embodiments, theaggregation system 108 and/or a user interface 312 may be operate inassociation, directly or indirectly, with a preference engine 336 thatautomatically or quasi-automatically selects Feeds for one or more users116 to be incorporated within the set of Feeds provided to the user 116,and/or that configures, filters, orders, or otherwise influences some orall of the content items presented in Feeds provided to the user 116.

In one implementation of this optional aspect of the primary and otherembodiments, the Feeds provided to, associated with, or contributing tothe selective feed 220 provided to, or associated with, a given user 116may be automatically configured as such for the user 116, or initially,subsequently, or periodically recommended to the user 116 (hereinafter,each such automatically configured or recommended Feed is referred to asan “Auto Feed”), based on an association of a Feed to a user, account,entity, item, Feed Item, or other component of another Internet service126 coupled with an association of that other user, account, entity,item, Feed Item, or other component of the other Internet service 126with the user 116, and optionally based on service preferencesindicated, for example, a user's action, inaction, activity, or otherbehavior. As an example, a user 116 who is a follower of a media entityon a social networking Internet service 126 could be automaticallyprovided with the Feed associated with that media entity's own Internetservice 126 which is independent of the social networking Internetservice 126, such as automatically providing a user who has “liked” amedia entity's Facebook™ page with that media entity's own service feed206. As another example, a user 116 who receives a shared video FeedItem on a social networking Internet service 126 and then watches thatvideo Feed item to a specified completion or in its entirety could fromthat point on (or at least from that point until the user 116 cancels ordeletes it) be automatically provided the Feed associated with theInternet service 126 of the media entity associated with the sharedvideo Feed Item.

In this implementation, such associations may be configured asone-to-one, many-to-one, one-to-many, or many-to-many, and can be director indirect; continuing with the first example, a user 116 could also beprovided with that media entity's own service feed 206 when the user 116has followed a personality associated with the media entity on a socialnetworking Internet service 126 independent of the media entity'sInternet service 126. Further, the Auto Feed can be a filtered subset ofthe media entity's service feed 206, for example the Auto Feed could befiltered to include only those Feed Items that feature the mediapersonality.

In one technical execution of this Auto Feed implementation, thisoptional aspect of the primary and other embodiments can be implementedvia some of, all of, or a combination of some of the followingcomponents and processes:

-   -   A feed correlation index 340 is used to correlate media entities        associated with one or more Internet services 126 with other        Internet services 126. In an any-to-any implementation, a given        media entity first encountered on Internet service 206 can be        correlated to any number of other Internet services 126 (which        exist under a common Internet service 126 of record or        enterprise of record, or not under a common Internet service 126        of record or enterprise of record); and an independent Internet        service 126 can be correlated with any number of media entities        associated with an Internet service 126, or any number of media        entities some of which are associated with one Internet service        126 and some of which are associated with another Internet        service 126.    -   A record from the feed correlation index 340 indicates an        Internet service 126 of record for each Feed, group of Feeds,        filtered versions of Feeds, or other subset of Feeds, and that        specifies the associated correlations. Enterprises in the feed        correlation index 340 can be established that group together        Internet services 126 of record, so for example. Disney™ could        be an enterprise, with separate Internet service 126 of record        entries for ABC News™, ESPN™, ABC Family™, and Disney Channel™.        A history of all entries, changes, deletes, etc., date and        timestamp, and the person who made the change is kept in the        feed correlation index 340.    -   A feed policies can be manually or automatically specified as        entries in the feed correlation index 340. Policy is implemented        by Feed, group of Feeds, filtered versions of Feeds, or other        subset of Feeds and sub-policy by correlated to media entity.        Policies control how user actions on the correlated Internet        service 126 that form the service preferences are translated        into Auto Feeds by the preference engine 336 referring to the        feed correlation index 340. A policy might specify that when a        user takes and otherwise qualifying action with a media entity        but has previously deleted the Feed associated with that media        entity, the Feed is temporarily added the Auto Feed rather than        adding it as a permanently to the Auto Feed, or the policy might        nevertheless specify that the Feed is added as a standard or        permanent Auto Feed or as a component to Auto Feed. Different        Internet services 126 may have different views on whether to        automatically provide a Feed to users under different conditions        and user scenarios, which can be customized by policy added to        one or more records in the feed correlation index 340. A history        of all entries, changes, deletes, etc., date and timestamp, and        the person who made the record change are kept in one        embodiment.    -   An audit function 344 function maintains a history for each user        116 of all Feed-related user actions and events that includes at        least: date and timestamp for the action/event; an identifier of        the Feed; the action/event (such as add/delete/combine into        composite feed/etc.); the device 112 on which the action/event        occurred (or that the action/event was system generated, the        subsystem that generated it, etc.); codes that indicate what        entity initiated the action/event (the user, the aggregation        system 108, another Internet service 126, other systems, etc.)        and other relevant characterizing information.    -   Through the user interface 312, the user adds Internet services        with their associated service credentials 314 to allow        authentication of the Internet service 126 to the aggregation        system 108 or other system. The preference engine reads her        service preferences for media entities from the Internet service        126; identifies the Feeds that correlate to service preferences        by query to the feed correlation index 340; and for each of,        some of or all of the media entities associated with her service        preferences, unless otherwise indicated by the policy for a        correlated Feed, automatically provides the Feed(s) to the user        116 (and writes an event to the audit function 344 for her) if        the Auto Feed is not already provided to her.    -   The preference engine 336 periodically reads a user's 116        service preferences for media entities from the Internet service        126 and identifies any new media entities since the last time        her service preferences were read from the Internet service 126;        identifies the Auto Feeds that correlate to the new service        preferences; and for each of, some of, or all of the new service        preferences, unless otherwise indicated by the Feed Policy for a        correlated Feed, automatically provides the Auto Feed(s) to the        user 116 (and writes to the audit function 344) if the Feed is        not already provided to her.    -   When a new Internet service 126 or Feed is added to the        aggregation system 108, or a new media entity correlation is        added to the feed correlation index 340, the preference engine        336 automatically gathers the associated Auto Feed for all users        116 of the aggregation system 108 who: a) have an association        with the media entity associated with the Auto Feed, and b) are        not already provided the Feed.    -   A self-service component accessible through the user interface        312 allows the authorized personnel operating a given        independent Internet service 126 to interactively access the        feed correlation index 340 to administer policies and records        defining the correlations between media entities with which        their independent Internet service 126 is associated and their        Feeds, and to otherwise administer the policies and records in        the feed correlation index 340 associated with their Feeds. This        self-service component includes appropriate user access control,        administrative facilities, and audit function 344.    -   A link generation and execution process, to which the        independent Internet service 126 operating personnel could        configure authentication to their media entities on one or more        Internet services 126, policies to control the link generation        and execution process, and other configuration data, and the        link generation and execution process could then automatically        select or generate and then post Feed items to the independent        Internet service's media entities on another Internet service        126, and/or execute actions and/or events on behalf of the        independent Internet service's 126 media entities. As an example        of this optional link generation and execution process, as the        independent Internet service 126 sends Feed items to the        aggregation system 108, the link generation and execution        process could post some or all of the items as entries on its        Facebook™ page, presented either in the context of the Internet        service 126, the independent Internet service 126, or the        aggregation system 108. As another example of this optional link        generation and execution process, the link generation and        execution process, or an associated process, could monitor        Twitter™ and whenever a Feed item from the independent Internet        service 126 is contained in a tweet from a Twitter™ user,        retweet that tweet.

In another implementation of this optional aspect of the primary andother embodiments, the Auto Feeds for a given user 116 may be based ondeclared interests of the user 116, activity (such as watching, sharing,or saving feed items) associated with the user 116, activity associatedwith the user 116 combined with, or correlated to, activity of otherusers 116, or the response of the user 116 or other users 116 to a givenAuto Feed.

Referring next to FIG. 13, an embodiment of a process 1300 for creationof an Auto Feed is shown. The depicted portion of the process begins inblock 1304 where the aggregation system 108 records user 116interactions with various Internet services 126. These Internet services126 may have service feeds 206 or may expose by other means theinteractions and/or service preferences of users 116. Interactions andpreferences potentially including which books, music, movies, products,services, web pages, ads, videos, stories, blogs, content topics, otherusers, brands, organizations, causes, other entities, etc. that the user116 interacts with, rates, comments on, shares, associates with,subscribes to, or otherwise indicates interest, opinion, association,familiarity, affinity, or negative affinity with, for, or to.

Current, historical or past interactions are often recorded by Internetservices 126, for example, reviews, preferences and analyticsinformation. This information may be publically accessible from theInternet service 126, or in some embodiments could be obtained through afeed of analytic data from the Internet service 126. When login isrequired for access to some or all service preferences, the aggregationsystem 108 logs into the Internet service 126 in block 1308 usingcredentials for the user 116. These service preferences are optionallycombined with others attributed to the user that may be publicallyaccessible by crawling automatically the Internet services 126 in block1312.

The service preferences serve as way to automatically determine mediaentities that the user 116 may have an interest in. The feed correlationindex 340 is queried using the service preferences and/or media entitiesto determine the Feed(s) that relate to those subjects. Before creationof an Auto Feed, the user 116 could be notified or queried if that isdesired in block 1320. Where there are multiple feeds for the servicepreference and/or media entity, those can be combined in block 1324 toform the Auto Feed. Certain feeds could be filtered automatically for aparticular Auto Feed, for example, there could be a Feed relating toOlympians generally and a filter for a particular athlete could beperformed for those interested in the particular athlete.

In addition to automatic filtering and screening of Feeds, the user candefine filters to remove Feed Items from the Auto Feed in block 1328.The filtering can be by keyword or video type and entered by simplerating controls such as “thumbs-up” or “thumbs-down” and the aggregationsystem 108 would create the appropriate filter. In block 1332, the AutoFeed is presented to the user 116 along with other Feeds. As the usercontinues to interact with Internet services 126, other servicepreferences and media entities could be found and corresponding Feedsadded to the Auto Feed or additional Auto Feeds created and provided tothe user 116.

Although this embodiment gathers all service preferences and mediaentity information to find Feeds that are aggregated into a single AutoFeed, other embodiments could use the same techniques to create multipleService Feeds. Each media entity could have its own Auto Feed forexample. Media entities could be grouped into category feeds, forexample, the athlete media entities could be grouped into one Auto Feedwhile musician media entities could be automatically placed into anotherAuto Feed.

The functions associated with creation and presentation of Auto Feedscan be technically implemented through any of, all of, or anycombination of: execution as part of the user interface 312; as part ofsoftware functionality on the device 112; as part of the aggregationsystem 108; as part of a system associated with the aggregation system108; as part of an Internet service 126 associated with the aggregationsystem 108 and/or the user 116; as part of, or in conjunction with, acontent management system, shared content management system, or othersystem associated with a service feed 206; as a standalone system orprogramming interface; as a standalone Internet service 126; through aprogramming interface or other digital interface of the device 112, theoperating system executing on the device 112, or other softwareexecuting on the device 112; through a programming interface or otherdigital interface available in conjunction with the network connected,directly, indirectly, or through an intermediate network, to the device112.

Referring next to FIGS. 14A & 14B, block diagrams shows one embodimentof the NMS 348 interfaced with other portions of the aggregation system108 and a device 112. A notifications management system (“NMS”) 348 canmanage notifications, across some or all devices 112 associated with,and some or all user interfaces 312 operating on some or all devices 112associated with, users 116. The NMS 348 has a notification engine 1412that interfaces to the platform-level notification center 1434 on thedevice 112, or alternatively to another notifications system availableon the device 112, such that a notification is created by, entered into,sent to, or sent through the NMS 348 once (or less than the total numberof disparate platform-level notifications systems indicated) and is thendistributed to all addressed devices 112, and utilizes and/or interfacesto, the heterogeneous group of devices 112 addressed and theheterogeneous group of necessary platform-level notification systems.

This optional aspect of the primary and other embodiments alsooptionally includes a local notifications repository operating on, or inconjunction with, the user interface 312 or another notifications systemavailable on the device 112, separate and apart from the device's nativenotification repository, referred to as a user-interface notificationcenter 1430 allowing local notifications to be sent to or through theuser interface 312 or the other notifications system without using theplatform-level notifications system, and native notifications to be sentto or through the platform-level notification center 1434 and to orthrough the device's native notification repository. This optionalaspect of the primary and other embodiments can limit the presence oflocal notifications to the subset of notifications sent to or throughthe platform-level notification center 1434, while still enabling agreater number of notifications to be sent to the user 116 through theuser-interface notification center 1430; thereby limiting the potential“noise” experienced by the user 116 if more than a desirable number ofnotifications is sent via the platform-level notification center 1434;thereby also or alternatively enabling total notifications, includingplatform-level notifications and local notifications, to exceed anylimit on platform-level notifications set by the operator of the device112 platform or by the user 116 of the device 112, and/or to avoid,partially or entirely, any cost, such as a cost per notification,imposed by the operator of the device 112 platform, and/or to provide adevice-level configuration capability to the user 116 that allocatesand/or prioritizes notifications among the platform-level notificationcenter 1434 and the user-interface notification center 1430.Platform-level notifications and local notifications may besynchronized, for example, a platform-level notification might be sentto notify the user 116 that there are local notifications waiting forher in the user-interface notification center 1430; or may not besynchronized; or may be synchronized in some cases and not synchronizedin other cases.

One technical implementation of the NMS 348 would include some of, allof, or a combination of some of the following components and processes:

-   -   One or more notification creation processes, which generate        notifications for some or all users 116, and some or all devices        112 associated with each such user 116; optionally classifies        each generated notification as local or platform-level; and        optionally generates any synchronized notifications, for        example, generates a platform-level notification when a certain        number of local notifications have been sent, or after a certain        period of time after a local notification has been sent, or if a        user 116 has not accessed user interface notification center        1430 within a certain period, or any combination of these or        other criteria;    -   One or more notifications policies indexes 1424, containing        rules governing the type (such as local or platform-level),        number, frequency, content, and other characteristics of        notifications that may be sent by a given Internet service 126        to users 116 associated with that Internet service 126, and/or        devices 112 or platforms associated with users 116 associated        with that Internet service 126;    -   One or more notification transmission processes, which        optionally may be combined with the notification creation        processes, each of which transmits platform-level notifications        to the device 112 associated with the user 116, in each case        using the device-specific identifier associated with the user        116 stored in the notifications index and the platform-level        notifications system associated with the notifications platform        identifier stored in the notifications index, and/or which        transmits local notifications to some or all of the local        repositories of the local-notification supporting instances of        the user interfaces 312 associated with the user 116.

Utilizing the NMS 348, the operator of the aggregation system 108 couldeasily, with a single policy or entry, generate and transmitnotifications to users 116 across a heterogeneous array of devices 112,with a copy of each notification sent to each user 116 on each device112 associated with the user 116 using the platform-level notificationcenter 1434 specific to each such device 112; the operator of anInternet service 126 could, if authorized by the operator of the NMS348, generate and transmit notifications to users 116 associated withthe Internet service 126, across a heterogeneous array of devices, witha copy of each notification sent to each user 116 associated with theInternet service 126, on each device 112 associated with the user 116using the platform-level notifications system specific to each suchdevice; notifications could be sent to the user-interface notificationcenter 1430, to reduce the number of platform-level notifications sentto any given user 116; heterogeneous devices 112 and correspondingplatform-level notification centers 1434 are easily supported in aconsistent fashion and via a single interface; and more notificationscan be sent to more users 116, with more specificity and precision,while at the same time the user 116 experience is maintained orimproved.

In one embodiment, the NMS 348 has various stores of data that may be ina database, file system, and/or a memory data structure, which includeauthorization records 1408, a notification correlation index 1416, anotification history list 1420, and a notification policy index 1424.The data in the various stores can be combined into a single store ordivided between a number of stores at a number of locations. The NMS 348also has a notification interface 1404 and a notification engine 1412.Additionally, the NMS 348 interfaces with several other components ofthe aggregation system 108, for example, optionally the notificationinterface 1404 interacts with service interfaces 320, and thenotification engine 1412 interacts with a preference engine 336, anaggregation engine 304, one or more user interfaces 312, and one or moredevices 112.

The notification interface 1404 receives notification requests. Anotification request contains a first field for a notification, thenotification being a string of text, an icon, a graphic, and/or ahyperlink to be sent to a user 116 and/or device 112; and thenotification request contains a second field for one or more criteriafor the notification engine 1412 to apply as the notification engine1412 processes the notification request. The one or more criteria relateto data about users 116 and/or devices 112 gathered and/or used by theaggregation system 108. The one or more criteria could specify one,some, or all users 116 and/or one, some, or all devices 112 to send thenotification to. The one or more criteria could specify a type of device112 and/or a type of platform to send the notification to, includinglocation 120, fidelity of a rendering system on a device 112, anoperating system of a device 112, manufacturer of a device 112, softwareapplications installed on a device 112, and/or a model and/or style of adevice 112. The criteria could be based on preference(s) of the user(s)116, including user 116 comments, user 116 tags, user 116 ratings,and/or user 116 rankings. The criteria could be based on a history ofthe user(s) 116, including videos watched, types and/or genre of videoswatched, service feeds 206 the user 116 has subscribed to, and/or otheruser 116 activity on the Internet, including browsing history. The oneor more criteria could be based on a type of user 116, including age,gender, language, and/or other demographic data.

The notification interface enables Internet services 126 to sendnotifications to their associated users 116 and/or to define policiesthat will send notifications to their associated users 116, utilizinglocal notifications, platform-level notifications, or both, andoptionally utilizing local notifications and synchronized platform-levelnotifications, and to send notifications to users 116 across aheterogeneous set of devices using either local notifications orplatform-level notifications or both, and streamlining and simplifyingthe processes for doing so. The NMS 348 can manage the notifications anddistribution to devices 112.

For example, using a generalized scenario illustrating how thenotifications function can operate, if Adobe™ wanted to alert users 116operating Linux on a PC that there was a security update for FlashPlayer™, Adobe™ would generate a notification request through thenotification interface 1404. In the first field of the notificationrequest, Adobe™ would specify a string of text stating there is asecurity update for Flash Player™ and a hyperlink pointing to anInternet address where a user 116 could download the security update. Inthe second field of the notification request, Adobe™ would specifycriteria that the notification be sent to users 116 that have FlashPlayer™ on a PC operating Linux.

In another example, a local band could submit a notification requestthrough the notification interface 1404 specifying in the first field ofthe local band's notification request a string of text stating a timeand location where the local band is going to perform in an hour and agraphic depicting the local band's trademark. In the second field of thelocal band's notification request, the local band could specify criteriathat the notification in the first field of the local band'snotification request be sent to a user 116 that has watched a musicvideo from a Feed Item within the last month that is of a similar genreas the band performs and the user 116 has a smartphone, where thesmartphone location 120 is within a ten-mile radius of the local band'sperformance location.

The notification interface 1404 can receive a notification request froma third party directly and/or through the service interfaces 320. Forexample, an Internet service 126 could submit a notification requestthrough the service interfaces 320. When the third party submits anotification request, the third party also provides third-partycredentials showing that the third party is authorized to submit thenotification request. For example, the third-party credentials showingthat the third party is authorized could be a token, sign-in sequence,shared secret key, public key, and/or digital signature. Thenotification interface 1404 verifies the authority of the third party tosubmit the notification request by matching the third-party credentialsto data in the authorization records 1408 database. After authenticatingthe notification request made by the third party, the notificationinterface 1404 passes the notification request to the notificationengine 1412.

The notification engine 1412 receives a notification request from thenotification interface 1404, as described above, and/or the notificationengine 1412 can generate a notification request, as described laterbelow. The notification engine 1412 processes the notification requestby using the one or more criteria of the notification request to selectusers 116 and/or devices 112 to transmit the notification to. To processthe notification request, the notification engine 1412 interacts withother components in the NMS 348 and aggregation system 108 describedbelow.

The notification engine 1412 receives preference data about users 116from the preference engine 336. The preference engine 336, as discussedin the text accompanying the description of FIG. 3B, gathers, tracks,and/or generates preference data about users 116. The notificationengine 1412 receives the preference data from the preference engine 336when the one or more criteria of the notification request relate to apreference of a user 116. For example, a criterion of the notificationrequest could specify that the notification be sent to users 116 who arelikely to be Democrats. The preference engine 336 could generate a listof likely Democrats by querying a database, available to the preferenceengine 336, for users 116 who “like” or “thumbs-up” Democrat politiciansand/or “thumbs-down” Republican politicians, the list of likelyDemocrats comprising a list of user-specific identifiers. Thenotification engine 1412 would then receive the list of likely Democratscomprising user-specific identifiers from the preference engine 336.

When the notification engine 1412 has a list of user-specificidentifiers to send the notification to, the notification engine 1412requests user-interface-specific identifiers and/or device-specificidentifiers from the aggregation engine 304. A user-interface-specificidentifier allows the notification engine 1412 to map a particular user116 to a particular user interface 312. A device-specific identifierallows the notification engine 1412 to map a particular user 116 to aparticular device 112. Continuing the example in the previous paragraphabout the list of likely Democrats, after the notification engine 1412receives the list of likely Democrats comprising user-specificidentifiers, the notification engine 1412 requestsuser-interface-specific identifiers and/or device-specific identifiersassociated with the user-specific identifiers from the aggregationengine 304. The aggregation engine 304 would then query one or moredatabases available to the aggregation engine 304 for theuser-interface-specific identifiers and/or device-specific identifiersand return the results to the notification engine 1412. Withuser-interface-specific identifiers and/or device-specific identifiersthe notification engine 1412 can transmit the notification to the userinterface 312 and/or device 112 of the user 116.

Referring to FIG. 14B, a block diagram shows an embodiment of thenotification engine 1412 communicating with the user interface 312though a user-interface notification center 1430 and with aplatform-level notification center 1434 on a device 112. The userinterface 312 has an application-level notification center labeled asthe user-interface notification center 1430 to handle and/or storenotifications that are sent to the user interface 312. A notificationsent to the user-interface notification center 1430 is a localnotification. The user-interface notification center 1430 could displaythe local notification in various ways, including under a selectabletab; in a panel and/or pane; as a ticker and/or pop-up on the bottom,top, side, or middle of a display; as an overlay in the video playbackwindow 702; in the active item pane 708; and/or in the feed pane 712. Anotification sent to the platform-level notification center 1434 is aplatform-level notification. The platform-level notification center 1434handles and/or stores notifications at a platform level. An example of aplatform-level notification center 1434 is Apple's™ iPhone™ swipe-downmenu that handles and lists notifications from more than oneapplication. In addition to being able to send local notificationsand/or platform-level notifications, the notification engine 1412 canquery the user-interface notification center 1430 and/or theplatform-level notification center 1434 to obtain data about the statusof notifications in the user-interface notification center 1430 and/orthe platform-level notification center 1434. For example, thenotification engine 1412 could query the platform-level notificationcenter 1434 for the number of notifications received but still marked asunread. Further, the user-interface notification center 1430 and/or theplatform-level notification center 1434 could send data to thenotification engine 1412. For example, the user-interface notificationcenter 1430 could alert the notification engine 1412 when a user 116views a local notification.

Referring to FIG. 14C, an embodiment of the user interface 312 that hasa notification pane 1438 to display notifications from theuser-interface notification center 1430 is shown. The user interface 312has an active item pane 708, a feed pane 712, site navigation links 716,a content navigation pane 720, and a notification pane 1438. Thenotification pane 1438 in the embodiment shown is located below theactive item pane 708. The notification pane 1438 displays notificationsfrom the user-interface notification center 1430.

Returning to FIG. 14A, in one embodiment the notification engine 1412can map the one or more criteria of the notification request to a FeedItem using the notification correlation index 1416. The notificationcorrelation index 1416 contains a list of Feed Items and associatedwords and/or phrases, such as words and/or phrases relating to the FeedItem's source, topic, and/or genre. The notification engine 1412 canpull data about a Feed Item from the preference engine 336, theaggregation engine 304, metadata associated with the video content ofthe Feed Item, a user 116 through the user interface 312, manual entryby a system operator of the NMS 348, and/or the Internet service 126providing the Feed Item. Table 1 below is one example of how data may beorganized in the notification correlation index 1416. Table 1 shows fivecolumns with column headings: Feed Item ID, Source, Primary, Secondary,and Genre. Under the column heading “Feed Item ID,” are numbers uniquelyidentifying different Feed Items. Under the column heading “Source,”entries identify where Feed Items were obtained from. Key words and/orphrases are provided under the column heading “Primary.” The key wordsand/or phrases under the column heading “Primary” have a very strongcorrelation to the topic of a corresponding Feed Item. There are keywords and/or phrases under the column heading “Secondary.” The key wordsand/or phrases under the column heading “Secondary” relate to a topic ofthe Feed Item, but may not as strongly correlate to the Feed Item as anentry in the “Primary” column. Entries under the column heading “Genre”further categorize a Feed Item.

TABLE 1 Sample entries in the notification correlation index 1416. FeedItem ID Source Primary Secondary Genre 99246859 BBC hurricane +hurricane, Sandy, News Sandy destruction, NYSE, New Jersey, New York,power outage, emergency preparedness, . . . 99246860 Nat'l Serpents +Cave, dark, Nature Geographic Cave; snake + snake, reptile, cave fear, .. . 99246861 Tekzilla Windows 8 Windows, operating Tech- system, . . .nology . . . . . . . . . . . . . . .

The notification engine 1412 also interacts with the notificationhistory list 1420. The notification history list 1420 maintains recordsof notifications transmitted and/or notification requests that did notresult in a notification being transmitted. Table 2 below is one exampleof how data may be organized in the notification history list 1420.Table 2 shows eight columns. Columns one and two provide fields for dateand time stamps for an entry. In this example, a second entry was madejust two minutes after a first entry. Column three is a field for auser-specific identifier. In this example, all entries are tied to oneuser 116. The fourth Column is a field for a unique identificationnumber for each notification request. Column five is a field for aunique identification number for each notification that was, or is tobe, sent to a user 116. Column six tracts whether the notification was alocal notification or a platform-level notification. Column sevenrecords whether a notification was actually sent. Column eight providesa field for notes relating to an entry in the notification history list1420.

TABLE 2 Sample entries in the notification history list 1420.Notification Notification Trans- Date Time User ID request ID ID Level?mitted? Notes 2012 Sep. 26 0910 52441655 05475741 10002346 local y 2012Sep. 26 0912 52441655 05475741 10002653 local n not sent because offrequency 2012 Sep. 26 1623 52441655 05475741 10003014 local y generateplatform- level notification request 05479825 2012 Sep. 26 1623 5244165505479825 10003015 platform y . . . . . . . . . . . . . . . . . .

The notification policy index 1424 contains rules for the notificationengine 1412 to follow as the notification engine 1412 processes anotification request. Rules in the notification policy index 1424 can beglobal, such as to apply to all notification requests; or the rules canbe for a specific user 116, such as set by the user 116 through the userinterface 312. One example of a rule in the notification policy index1424 could be for the notification engine 1412 to generate aplatform-level notification after seven local notifications have beensent and unread by a user 116. If the notification engine sent sevenlocal notifications, and then from a query of the user-interfacenotification center 1430 determined that those seven local notificationsremained unread by the user 116, then the notification engine 1412 wouldgenerate a notification request where the notification in the firstfield in the notification request is text instructing the user 116 tocheck the user-interface notification center 1430 for messages and inthe second field of the notification request set a criterion that thenotification in the first field of the notification request should besent as a platform-level notification. Another example of a rule in thenotification policy index 1424 could be a rule that limits the frequencyof certain notifications sent to a user 116. For example, a rule couldlimit notifications sent to a user 116 from a single notificationrequest to no more than one notification sent every four hours. If therewas a notification request with a criterion that stipulated thenotification engine 1412 transmit a notification to a user 116 whowatches a Feed Item correlated to a genre of sports, specificallybaseball, then without a rule otherwise the notification engine 1412would send three similar notifications in a row to a user 116 whowatches three videos in a row related to baseball. This might annoy theuser 116 and/or cause the user 116 to disregard further notifications.By having the rule that limits the frequency of certain notifications,the user 116 would get only one notification related to the notificationrequest instead of three.

Referring next to FIG. 15, an embodiment for a process 1500 forcorrelating a criterion in a notification request with a Feed Item isshown. The depicted portion of the process begins in block 1504 wherethe notification interface 1404 receives a notification request, thenotification request containing a first field for a notification and asecond field for one or more criteria for the notification engine 1412to apply as the notification engine 1412 processes the notificationrequest. In block 1508, the notification interface 1404 may optionallyauthenticate the notification request by accessing the authorizationrecords 1408. The notification engine 1412 then receives thenotification request from the notification interface 1404. In block1512, the notification engine 1412 correlates the notification requestto a Feed Item by using the notification correlation index 1416 to mapthe one or more criteria in the notification request to a Feed Item,establishing a correlated Feed Item.

To determine a user 116 and/or device 112 corresponding to thenotification request, block 1516, the notification engine 1412 receivesdata from the aggregation engine 304 and/or the user interface 312 whenthe correlated Feed Item is currently, or about to be, viewed by a user116. The data received from the aggregation engine 304 and/or the userinterface 312 can include identification data about the user 116, userinterface 312, and/or device 112, such as user-specific identifiers,user-interface-specific identifiers, and/or device-specific identifiersfrom the user index 352.

In block 1520, the notification engine 1412 then transmits thenotification in the first field of the notification request in a timedrelation to when the user 116 views, or may view, the correlated FeedItem. For example, the notification engine 1412 may transmit thenotification in the notification request when the user 116 startsviewing the correlated Feed Item. Alternately, the notification engine1412 could transmit the notification a number of seconds and/or minutesafter the user 116 starts viewing the correlated Feed Item and while theuser 116 is still viewing the correlated Feed Item. Additionally, thenotification engine 1412 could transmit the notification after the user116 starts viewing a correlated Feed Item, regardless of whether or notthe user 116 is still viewing the correlated Feed Item. For example, thenotification engine 1412 could transmit the notification a minute,several minutes, an hour, and/or several hours after the user 116 beginsviewing a correlated Feed Item; and/or the notification engine 1412could transmit the notification to the user 116 a next time the user 116logged on the user interface 312. If the notification came the next timethe user 116 logged on the user interface 312, the user 116 may not beas distracted as when the user 116 is already watching a video.

The notification engine 1412 could also transmit the notification beforethe user 116 begins viewing the correlated Feed Item. Components of theaggregation system 108, such as the user interface 312 and/oraggregation engine 304, have data about the selective feed 220 the user116 is viewing. The aggregation system 108 tracks an order of Feed Itemsin that selective feed 220, including where the correlated Feed Itemfalls in the order of Feed Items. The user interface 312 and/or theaggregation engine 304 could signal the notification engine 1412 whenthe user 116 is viewing the selective feed 220 and the selective feed220 is about to display the correlated Feed Item. For example, anotification about an availability of discount tickets to a local zoocould be displayed before the user 116 is about to watch a video of anews story about panda bears at the local zoo. That might encourage theuser 116 to watch the video of a news story about panda bears at thelocal zoo.

As an example of how the process 1500 for correlating a criterion in anotification request with a Feed Item may work, a vendor sellingflashlights could submit a notification request through the notificationinterface 1404. The vendor selling flashlights could stipulate that thenotification in the first field of the notification request is a stringof text advertising a crank-powered flashlight. The vendor sellingflashlights could stipulate that the one or more criteria in thenotification request include sending the notification advertising acrank-powered flashlight to users 116 viewing a video related to anatural disaster and that the notification advertising a crank-poweredflashlight is to be shown seven seconds after the user 116 starts toview the video related to a natural disaster. In addition to submittingthe notification request, the vendor selling flashlights could alsosubmit credentials that the vendor selling flashlights is authorized tosubmit the notification request. The notification interface 1404 wouldcompare the credentials of the vendor selling flashlights to theauthorization records 1408 to verify that the vendor selling flashlightswas authorized to submit the notification request. The notificationinterface 1404 would then send the notification request from the vendorselling flashlights to the notification engine 1412. The notificationengine 1412 could map the one or more criteria of the notificationrequest to a Feed Item in Table 1 corresponding to Feed Item ID99246859, a Feed Item about a strong hurricane. When the user 116 has aselective feed 220 that includes the Feed Item about a strong hurricane,the user interface 312 sends the notification engine 1412 auser-interface-specific identifier and the Feed Item ID relating to theFeed Item about a strong hurricane. The notification engine 1412 thentransmits the notification, the string of text advertising acrank-powered flashlight, to the user-interface notification center 1430with instructions that the string of text advertising a crank-poweredflashlight is to be shown seven seconds after the user 116 beginsviewing the Feed Item about a strong hurricane. The user-interfacenotification center 1430 would then display the text advertising acrank-powered flashlight seven seconds after the user 116 begins viewingthe Feed Item about a strong hurricane. Additionally, the vendor sellingflashlights could set the one or more criteria of the notificationrequest to transmit the text advertising the crank-powered flashlightseven hours after the user 116 watched the Feed Item about a stronghurricane. Transmitting the notification hours after the user 116watched the Feed Item about a strong hurricane could give the user 116time to think about, and possibly discuss, the strong hurricane and howthe user 116 might prepare herself for a hurricane.

Referring next to FIG. 16, an embodiment of a process 1600 for managingnotifications is shown. The depicted portion of the process begins inblock 1604 where the notification engine 1412 reads a notificationrequest. The notification engine 1412 can receive the notificationrequest from the notification interface 1404, and/or the notificationengine 1412 can generate the notification request.

In an embodiment, the notification policy index 1424 containsnotification rules on how the notification engine 1412 should handle anotification request. In block 1612, the notification engine 1412 readsone or more of the notification rules that may apply to the notificationrequest. For example, one rule may limit the notification engine 1412 tosending no more than one notification that is an advertisement to a user116 per hour.

For the notification engine 1412 to apply the notification rules, thenotification engine 1412 may need to read a list containing a history ofnotifications and/or a history of notification requests, block 1616. Onesource of data the notification engine 1412 can pull from is thenotification history list 1420, which contains a history ofnotifications and/or a history of notification requests. Thenotification engine 1412 may also query the user-interface notificationcenter 1430 and/or the platform-level notification center 1434 for alist containing a history of notifications, such as how many unreadnotifications remain in the user-interface notification center 1430and/or the platform-level notification center 1434, whether a similarnotification has been read by a user 116 on another device 112, whatnotifications from other applications are in the platform-levelnotification center, and/or a total number of notifications in theuser-interface notification center 1430 and/or the platform-levelnotification center 1434.

In block 1624, the notification engine 1412 determines whether or not tosend the notification by applying the notification rules in thenotification policy index 1424 based on the data from the notificationhistory list 1420 and, optionally, based on the data from theuser-interface notification center 1430 and/or the platform-levelnotification center 1434. If the notification engine 1412 determines notto send the notification, the notification engine 1412 does not send thenotification, block 1628. Conversely, if the notification engine 1412does determine to send the notification, the notification engine 1412transmits the notification, block 1632. For example, there may be a rulefor sending a user 116 only one notification per day that is anadvertisement. The notification engine 1412, after receiving anotification request where the notification in the first field of thenotification request is an advertisement, could select a user 116 tosend the notification to and query the notification history list 1420for notifications related to that user 116 that were advertisements. Ifafter discovering the user 116 that day already received anadvertisement notification, the notification engine 1412 would nottransmit the notification in the first field of the notificationrequest.

In block 1634, whether or not the notification engine 1412 transmits thenotification, a rule in the notification policy index 1424 may,optionally, have the notification engine 1412 generate a newnotification request. For example, the notification policy index 1424could contain a rule that after the notification engine 1412 has sentfive local notifications, which are all unread, the notification engine1412 should generate a platform-level notification instructing the user116 to check the user-interface notification center 1430. After sendingfive local notifications, and checking that the user-interfacenotification center 1430 that the messages are unread, the notificationengine 1412 would generate a new notification request to send aplatform-level notification to the platform-level notification center1434

In another example, the user 116 could generate a notification requestthat notifications from other applications that appear in theplatform-level notification center 1434 are to be sent to theuser-interface notification center 1430. For example, Delta Airlines™has an Apple™ iPhone™ application that provides notifications relatingto flight information, including gate changes, flight delays, andprompts to check in. The notification engine 1412 could query theplatform-level notification center 1434 of the Apple™ iPhone™ of theuser 116, and pull an unread notification from Delta Airlines™ that theflight the user 116 was booked for is going to be delayed. Thenotification engine 1412 could then generate a notification requestwhere the first field of the notification request is a copy of theunread notification from Delta Airlines™ that the flight the user 116was booked on is going to be delayed, and the second field of thenotification request is a criterion that the notification in the firstfield of the notification request be sent as a local notification to theuser-interface notification center 1430. That way the user 116 wouldreceive the notification from Delta Airlines™ that the flight the user116 was booked for is going to be delayed while the user 116 is viewinga selective feed 220.

The functions associated with the NMS 348, the notification engine 1412,and related functions can be technically implemented through any of, allof, or any combination of: execution as part of the user interface 312;as part of software functionality on the device 112; as part of theaggregation system 108; as part of a system associated with theaggregation system 108; as part of an Internet service 126 associatedwith the aggregation system 108 and/or the user 116; as part of, or inconjunction with, a content management system, shared content managementsystem, or other system associated with a service feed 206; as astandalone system or programming interface; as a standalone Internetservice 126; through a programming interface or other digital interfaceof the device 112, the operating system executing on the device 112, orother software executing on the device 112; through a programminginterface or other digital interface available in conjunction with thenetwork connected, directly, indirectly, or through an intermediatenetwork, to the device 112.

Specific details are given in the above description to provide athorough understanding of the embodiments. However, it is understoodthat the embodiments may be practiced without these specific details.For example, circuits may be shown in block diagrams in order not toobscure the embodiments in unnecessary detail. In other instances,well-known circuits, processes, algorithms, structures, and techniquesmay be shown without unnecessary detail in order to avoid obscuring theembodiments.

Also, it is noted that the embodiments may be described as a processwhich is depicted as a flowchart, a flow diagram, a data flow diagram, astructure diagram, or a block diagram. Although a flowchart may describethe operations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be re-arranged. A process is terminated when itsoperations are completed, but could have additional steps not includedin the figure. A process may correspond to a method, a function, aprocedure, a subroutine, a subprogram, etc. When a process correspondsto a function, its termination corresponds to a return of the functionto the calling function or the main function.

Furthermore, embodiments may be implemented by hardware, software,scripting languages, firmware, middleware, microcode, hardwaredescription languages, and/or any combination thereof. When implementedin software, firmware, middleware, scripting language, and/or microcode,the program code or code segments to perform the necessary tasks may bestored in a machine readable medium such as a storage medium. A codesegment or machine-executable instruction may represent a procedure, afunction, a subprogram, a program, a routine, a subroutine, a module, asoftware package, a script, a class, or any combination of instructions,data structures, and/or program statements. A code segment may becoupled to another code segment or a hardware circuit by passing and/orreceiving information, data, arguments, parameters, and/or memorycontents. Information, arguments, parameters, data, etc. may be passed,forwarded, or transmitted via any suitable means including memorysharing, message passing, token passing, network transmission, etc.

For a firmware and/or software implementation, the methodologies may beimplemented with modules (e.g., procedures, functions, and so on) thatperform the functions described herein. Any machine-readable mediumtangibly embodying instructions may be used in implementing themethodologies described herein. For example, software codes may bestored in a memory. Memory may be implemented within the processor orexternal to the processor. As used herein the term “memory” refers toany type of long term, short term, volatile, nonvolatile, or otherstorage medium and is not to be limited to any particular type of memoryor number of memories, or type of media upon which memory is stored.

Moreover, as disclosed herein, the term “storage medium” may representone or more memories for storing data, including read only memory (ROM),random access memory (RAM), magnetic RAM, core memory, magnetic diskstorage mediums, optical storage mediums, flash memory devices and/orother machine readable mediums for storing information. The term“machine-readable medium” includes, but is not limited to portable orfixed storage devices, optical storage devices, wireless channels,and/or various other storage mediums capable of storing that contain orcarry instruction(s) and/or data.

While the principles of the disclosure have been described above inconnection with specific apparatuses and methods, it is to be clearlyunderstood that this description is made only by way of example and notas limitation on the scope of the disclosure.

What is claimed is:
 1. A video processing system for providing userspersonalized video content feeds from videos available on the Internet,the video processing system comprising: one or more hardware servers; afirst service feed that: is received by the one or more hardware serversfrom the Internet; and comprises a first plurality of feed items,wherein each feed item of the first plurality of feed items includes aseparately resolvable link to a content object available from theInternet; a second service feed that: is received by the one or morehardware servers from the Internet; and comprises a second plurality offeed items, wherein each feed item of the second plurality of feed itemsincludes a separately resolvable link to a content object available fromthe Internet; and an aggregation system that is configured to: apply afirst filter to the first plurality of feed items and to the secondplurality of feed items to generate a first selective feed, wherein:applying the first filter removes a first feed item from the firstplurality of feed items or from the second plurality of feed items sothat the first feed item is not in the first selective feed; and thefirst selective feed comprises one or more feed items from the firstservice feed and one or more feed items from the second service feed;apply a second filter to the first plurality of feed items and to thesecond plurality of feed items to generate a second selective feed,wherein: applying the second filter removes a second feed item from thefirst plurality of feed items or from the second plurality of feed itemsso that the second feed item is not in the second selective feed; andthe second selective feed comprises one or more feed items from thefirst service feed and one or more feed items from the second servicefeed; identify a first plurality of video feed items from the firstselective feed and a second plurality of video feed items from thesecond selective feed; present the first plurality of video feed itemsfrom the first selective feed to a first user; and present the secondplurality of video feed items from the second selective feed a seconduser.
 2. The video processing system for providing users personalizedvideo content feeds from videos available on the Internet as recited inclaim 1, wherein the first filter is based on viewing behavior of thefirst user.
 3. The video processing system for providing userspersonalized video content feeds from videos available on the Internetas recited in claim 1, wherein the first filter is based on a format,encoding, and/or bitrate of feed items.
 4. The video processing systemfor providing users personalized video content feeds from videosavailable on the Internet as recited in claim 1, wherein the firstfilter is based on a characteristic of a device of the first user. 5.The video processing system for providing users personalized videocontent feeds from videos available on the Internet as recited in claim1, wherein the first filter is based on an expressed interest of thefirst user.
 6. The video processing system for providing userspersonalized video content feeds from videos available on the Internetas recited in claim 1, wherein the first filter is based on a current orpast action of the first user.
 7. The video processing system forproviding users personalized video content feeds from videos availableon the Internet as recited in claim 1, wherein the aggregation system isfurther configured to: request a first advertisement from a firstadvertisement server based on a first content object of the firstselective feed being provided by a first content provider; and request asecond advertisement from a second advertisement server based on asecond content object of the first selective feed being provided by asecond content provider.
 8. The video processing system for providingusers personalized video content feeds from videos available on theInternet as recited in claim 1, wherein the first service feed isaccessed using login credentials of the first user.
 9. A method forproviding users personalized video content feeds from videos availableon the Internet, the method comprising: receiving a first service feed,wherein: the first service feed is received from the Internet; the firstservice feed comprises a first plurality of feed items; and each feeditem of the first plurality of feed items includes a separatelyresolvable link to a content object available from the Internet;receiving a second service feed, wherein: the second service feed isreceived from the Internet; the second service feed comprises a secondplurality of feed items; and each feed item of the second plurality offeed items includes a separately resolvable link to a content objectavailable from the Internet; applying a first filter to the firstplurality of feed items and to the second plurality of feed items togenerate a first selective feed, wherein applying the first filterremoves a first feed item from the first plurality of feed items or fromthe second plurality of feed items so that the first feed item is not inthe first selective feed; applying a second filter to the firstplurality of feed items and to the second plurality of feed items togenerate a second selective feed, wherein applying the second filterremoves a second feed item from the first plurality of feed items orfrom the second plurality of feed items so that the second feed item isnot in the second selective feed; identifying a first plurality of videofeed items from the first selective feed and a second plurality of videofeed items from the second selective feed; and presenting the firstplurality of video feed items from the first selective feed to a firstuser; and presenting the second plurality of video feed items from thesecond selective feed to a second user.
 10. The method for providingusers personalized video content feeds as recited in claim 9, whereinthe first filter is based on viewing behavior of the first user.
 11. Themethod for providing users personalized video content feeds as recitedin claim 9, wherein the first filter is based on a format, encoding,and/or bitrate of feed items.
 12. The method for providing userspersonalized video content feeds as recited in claim 9, wherein thefirst filter is based on an expressed interest of the first user. 13.The method for providing users personalized video content feeds asrecited in claim 9, wherein the first filter is based on a current orpast action of the first user.
 14. The method for providing userspersonalized video content feeds as recited in claim 9, wherein themethod further comprises: requesting a first advertisement from a firstadvertisement server based on a first content object of the firstselective feed being provided by a first content provider; andrequesting a second advertisement from a second advertisement serverbased on a second content object of the first selective feed beingprovided by a second content provider.
 15. The method for providingusers personalized video content feeds as recited in claim 9, whereinthe first service feed is accessed using login credentials of the firstuser.
 16. The method for providing users personalized video contentfeeds as recited in claim 9, wherein the first selective feed comprisesone or more separately resolvable links from the first service feed. 17.A memory device having instructions that when executed cause one or moreprocessors to perform the following steps for providing userspersonalized video content feeds from videos available on the Internet:receive a first service feed, wherein: the first service feed isreceived from the Internet; the first service feed comprises a firstplurality of feed items; and each feed item of the first plurality offeed items includes a separately resolvable link to a content objectavailable from the Internet; receive a second service feed, wherein: thesecond service feed is received from the Internet; the second servicefeed comprises a second plurality of feed items; and each feed item ofthe second plurality of feed items includes a separately resolvable linkto a content object available from the Internet; apply a first filter tothe first plurality of feed items and to the second plurality of feeditems to generate a first selective feed, wherein applying the firstfilter removes a first feed item from the first plurality of feed itemsor from the second plurality of feed items so that the first feed itemis not in the first selective feed; apply a second filter to the firstplurality of feed items and to the second plurality of feed items togenerate a second selective feed, wherein applying the second filterremoves a second feed item from the first plurality of feed items orfrom the second plurality of feed items so that the second feed item isnot in the second selective feed; identify a first plurality of videofeed items from the first selective feed and a second plurality of videofeed items from the second selective feed; present the first pluralityof video feed items from the first selective feed to a first user; andpresent the second plurality of video feed items from the secondselective feed to a second user.
 18. The memory device havinginstructions as recited in claim 17, wherein the first service feed isaccessed using login credentials of the first user.
 19. The memorydevice having instructions as recited in claim 17, wherein theinstructions further cause the one or more processors to encode acontent object of the first service feed or a content object of thesecond service feed based on characteristics of a device of the firstuser.
 20. The memory device having instructions as recited in claim 17,wherein the first filter is based a completed view, a repeated view, alike, a share, a save, and/or a search query of the first user.